//Ressourcen niemals, niemals, niemals mit VisualC bearbeiten!
//MSVC ist ein Ressourcen-Zerstörer. Man nehme: Resource Workshop.
//Der zerstört zwar auch Ressourcen (entfernt DS_3DLOOK usw.)
//aber nicht die ganze Textdatei. Nur der editierte Dialog ist betroffen.
//Von Vorteil ist es, nur CONTROL-Anweisungen zu generieren.
//Nur dann lässt sich WS_TABSTOP von Gruppierungsrahmen entfernen.
//Achtung: Beide Editoren zerstören String-Ressourcen (RW: nur bei
//Bearbeitung der Strings), die \0 enthalten.
//Zum Übersetzen bitte diese Datei überarbeiten und Platzbedarf prüfen
//ohne zu speichern!

#ifndef WIN32
# define DS_3DLOOK	0x0004
# define BS_FLAT	0x8000
# define ES_NUMBER	0x2000
# define DS_SHELLFONT	0x0048
# define DS_CONTEXTHELP	0x2000
# define DLGFONT	"Helv"
#endif
#define IDC_STATIC	-1

100 DIALOG 0,0,254,210
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Emulation"
FONT 8,DLGFONT
{
 ICON		100,IDC_STATIC,12,8,20,20
 CTEXT		"",20,6,28,34,8,SS_NOPREFIX
 LTEXT		"Emulierte Port&adresse:",IDC_STATIC,56,8,82,8
 COMBOBOX	100,142,6,100,100,CBS_DROPDOWN|WS_VSCROLL|WS_TABSTOP
 LTEXT		"LPT-&Erweiterung:",IDC_STATIC,56,26,82,8
 COMBOBOX	102,142,24,100,100,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
 GROUPBOX	"Anzapfungsmethode für IN- und OUT-Befehle",IDC_STATIC,8,38,238,76
 CONTROL	"mittels &Debugregister",10,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,16,50,224,10
 LTEXT		"(erfasst alle Arten von IN- und OUT-Befehlen)",IDC_STATIC,28,62,212,10,SS_NOPREFIX
 CONTROL	"&Belegung erzwingen, auch wenn sie belegt erscheinen",17,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,34,74,206,10
 CONTROL	"Umleitung von &READ_PORT_UCHAR / WRITE_PORT_UCHAR",11,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,16,86,224,10
 LTEXT		"(schneller und stabiler)",IDC_STATIC,28,98,212,10,SS_NOPREFIX
 GROUPBOX	"Performance-Optionen",IDC_STATIC,8,118,238,88
 CONTROL	"&Schreibcache für OUT-Befehle",12,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,16,130,224,10
 LTEXT		"(Zusammenfassung mehrerer OUT-Befehle zu einem USB-Paket)",IDC_STATIC,28,140,212,10,SS_NOPREFIX
 RTEXT		"Paketversendung er&zwingen nach",IDC_STATIC,28,154,132,8
 EDITTEXT	101,164,152,50,14,ES_CENTER|ES_AUTOHSCROLL|ES_NUMBER
 LTEXT		"ms",IDC_STATIC,218,154,10,8
 CONTROL	"Rüc&klesen einer Kopie von Ausgabe-Registern",13,"Button",BS_AUTO3STATE|WS_TABSTOP,16,172,160,10
 PUSHBUTTON	"E&xakter…",103,176,170,64,14
 LTEXT		"(liefert zuletzt geschriebenen Wert bei IN-Befehl; funktioniert nicht wenn Ausgänge durch externe Hardware [low] gesteuert werden)",IDC_STATIC,28,184,212,20,SS_NOPREFIX
}

101 DIALOG 0,0,254,210
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Statistik"
FONT 8,DLGFONT
{
 GROUPBOX	"Debugregister-Anzapfung",IDC_STATIC,2,3,250,111
 PUSHBUTTON	"&Null setzen",116,170,16,76,14
 RTEXT		"OUT-Befehle:",IDC_STATIC,6,18,88,8
 EDITTEXT	100,98,16,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"IN-Befehle:",IDC_STATIC,6,34,88,8
 EDITTEXT	101,98,32,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"Emulationsfehler:",IDC_STATIC,6,52,88,8
 EDITTEXT	102,98,50,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 LTEXT		"(nicht unterstützter IN- oder OUT-Befehl, bspw. OUTSB)",IDC_STATIC,142,44,108,18,SS_NOPREFIX
 RTEXT		"Gestohlene Debugregister:",IDC_STATIC,6,68,88,8
 EDITTEXT	103,98,66,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 LTEXT		"(Unbekannter Treiber hat die Debugregister überschrieben)",IDC_STATIC,142,66,108,18,SS_NOPREFIX
 CTEXT		"Überschriebene Debugregister werden mit einem 100-ms-Timer detektiert.",IDC_STATIC,6,86,242,8,SS_NOPREFIX
 RTEXT		"Tatsächlich zugewiesen an:",IDC_STATIC,6,100,88,8,WS_DISABLED
 CONTROL	"SPP",108,"Button",WS_DISABLED|BS_RADIOBUTTON,102,100,30,10
 CONTROL	"EPP (+4)",109,"Button",WS_DISABLED|BS_RADIOBUTTON,140,100,44,10
 CONTROL	"ECP (+400h)",110,"Button",WS_DISABLED|BS_RADIOBUTTON,192,100,56,10
 GROUPBOX	"Umleitung READ_PORT_UCHAR / WRITE_PORT_UCHAR",IDC_STATIC,2,116,250,48
 PUSHBUTTON	"Null &setzen",117,170,128,76,14
 RTEXT		"OUT-Befehle:",IDC_STATIC,6,132,88,8
 EDITTEXT	104,98,130,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"IN-Befehle:",IDC_STATIC,6,148,88,8
 EDITTEXT	105,98,146,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"Überlänge:",IDC_STATIC,142,148,60,8
 EDITTEXT	106,206,146,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 PUSHBUTTON	"USB2LPT-&Extras…",111,8,166,110,12,BS_FLAT
 PUSHBUTTON	"Firmware-&Update…",112,136,166,110,12,BS_FLAT
 CTEXT		"haftmann#software, Technische Universität Chemnitz,\nFakultät für Elektrotechnik und Informationstechnik,\nProfessur für Mess- und Sensortechnik, 2006-2009",IDC_STATIC,2,180,250,26
}

102 DIALOG 254,210,198,58
STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_CONTEXTHELP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Rücklese-Kopie von Ausgaberegistern"
FONT 8,DLGFONT
{
 CONTROL	"&Datenport (Basisadresse + 0)",20,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,8,6,132,10
 CONTROL	"&Steuerport (Basisadresse + 2)",21,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,8,20,132,10
 CONTROL	"&Extra-Ports (ECP, EPP)",22,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,8,34,132,10
 DEFPUSHBUTTON	"OK",IDOK,142,6,50,14
 PUSHBUTTON	"Abbrechen",IDCANCEL,142,24,50,14
}

#ifdef WIN32
// Letzte Seite für den Hardware-Assistenten (CoInstaller; nur Win32)
103 DIALOG 0,0,316,142
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
FONT 8,DLGFONT
{
 LTEXT		"Emulierte Port&adresse:",IDC_STATIC,46,8,84,8
 COMBOBOX	100,132,6,100,100,CBS_DROPDOWN|WS_VSCROLL|WS_TABSTOP
 ICON		0,10,20,22,20,20
 LTEXT		"Eine falsch angegebene Adresse kann Ihren Computer zum ""Einfrieren"" bringen oder schlimmeres! Die Verwendung einer der drei Vorgaben gilt als sicher.",IDC_STATIC,46,24,252,22,SS_NOPREFIX
 GROUPBOX	"",IDC_STATIC,8,46,300,60
 ICON		100,IDC_STATIC,20,66,20,20
 LTEXT		"LPT-&Erweiterung:",IDC_STATIC,46,60,84,8
 COMBOBOX	102,132,58,100,100,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
 LTEXT		"Die LPT-Erweiterung bewirkt die Emulation weiterer Portadressen.\nSie wird vergleichsweise selten benötigt und die SPP-Einstellung ist OK.",IDC_STATIC,46,76,252,22,SS_LEFT|SS_NOPREFIX|WS_GROUP
 ICON		0,11,20,112,20,20
 LTEXT		"Diese und weitergehende Einstellungen können im Betrieb über Eigenschaftsseiten im Geräte-Manager vorgenommen werden.",IDC_STATIC,46,114,252,22,SS_LEFT|SS_NOPREFIX|WS_GROUP
}
#endif

104 DIALOG 0,210,228,238
STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_CONTEXTHELP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"USB2LPT-Extras"
FONT 8,DLGFONT
{
 GROUPBOX	"Feature-Register",IDC_STATIC,6,2,216,164,WS_GROUP
 LTEXT		"(Das Feature-Register wird im EEPROM des USB2LPT persistent gespeichert. Zugriff via DeviceIoControl)",99,10,12,210,18,SS_NOPREFIX
 CONTROL	"Offene Kollektoren für &Datenport (+0)",100,"Button",BS_AUTOCHECKBOX|WS_GROUP|WS_TABSTOP,10,33,208,10
 CONTROL	"Offene Kollektoren für &Steuerport (+2)",101,"Button",BS_AUTO3STATE|WS_TABSTOP,10,58,208,10
 CONTROL	"&Pullups (und 5V am Pin25, falls nachgerüstet) abschalten",102,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,10,90,208,10
 CONTROL	"&Direkter Ein/Ausgabemodus (USB2LPT wird zum I/O-Gerät)",103,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,10,117,208,10
 LTEXT		"(bewirkt schwache Ausgangsspannung 5V statt starke 3,3V)",IDC_STATIC,22,45,196,8,SS_NOPREFIX
 LTEXT		"(Ein graues Feld bedeutet: Offene Kollektoren im SPP-Modus, Push-Pull in allen anderen Modi)",IDC_STATIC,22,68,196,16,SS_NOPREFIX
 LTEXT		"(Energiesparmaßnahme)",IDC_STATIC,22,100,196,8,SS_NOPREFIX
 LTEXT		"(Invertierungen entfallen. Deshalb keine korrekte Parallelport-Simulation, für Zugriff mit DeviceIoControl.\nBei Rev.4 gibt es 20 statt 17 Ein/Ausgabeleitungen.\nRichtung einzeln schaltbar, für jedes Pin.)",IDC_STATIC,22,127,196,32,SS_NOPREFIX
 PUSHBUTTON	"Setzen && &Rücklesen",3,8,172,78,14,WS_GROUP
 PUSHBUTTON	"Kurzschluss&test (ohne Peripherie!)",4,102,172,120,14
 GROUPBOX	"Seriennummer",IDC_STATIC,6,190,104,26,WS_GROUP
 EDITTEXT	110,10,201,94,12,ES_CENTER|ES_AUTOHSCROLL|WS_DISABLED
 GROUPBOX	"Firmware-Datum",IDC_STATIC,118,190,104,26,WS_GROUP
 EDITTEXT	111,122,201,94,12,ES_CENTER|ES_AUTOHSCROLL|WS_DISABLED
 DEFPUSHBUTTON	"OK",IDOK,60,220,50,14,WS_GROUP
 PUSHBUTTON	"Abbrechen",IDCANCEL,119,220,50,14
}

105 DIALOG 0,0,254,210
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Monitor"
FONT 8,DLGFONT
{
 CONTROL	"Daten&port (+0)",16,"BUTTON",BS_GROUPBOX|WS_GROUP,8,2,240,26
 CONTROL	"",176,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,12,18,12
 CONTROL	"Lesen",117,"BUTTON",BS_PUSHBUTTON|WS_TABSTOP,36,12,38,12
 CONTROL	"",160,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,12,18,12
 CONTROL	"&Statusport (+1)",17,"BUTTON",BS_GROUPBOX|WS_GROUP,8,68,240,26
 CONTROL	"",177,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,78,18,12
 CONTROL	"",161,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,78,18,12
 CONTROL	"S&teuerport (+2)",18,"BUTTON",BS_GROUPBOX|WS_GROUP,8,94,240,26
 CONTROL	"",178,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,104,18,12
 CONTROL	"",162,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,104,18,12
 CONTROL	"",168,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,126,18,12
 CONTROL	"cfgA (+400h)",118,"STATIC",SS_LEFT|WS_GROUP,36,128,50,8
 CONTROL	"Byte ein&lesen",131,"BUTTON",BS_PUSHBUTTON|WS_GROUP|WS_TABSTOP,38,126,64,14
 CONTROL	"&Adresse",122,"BUTTON",BS_AUTORADIOBUTTON|WS_GROUP,104,124,50,10
 CONTROL	"&Daten",123,"BUTTON",BS_AUTORADIOBUTTON,104,134,50,10
 CONTROL	"Byte a&usgeben",130,"BUTTON",BS_PUSHBUTTON|WS_GROUP|WS_TABSTOP,154,126,64,14
 CONTROL	"cfgB (+401h)",119,"STATIC",SS_RIGHT|WS_GROUP,170,128,50,8
 CONTROL	"",169,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,126,18,12
 CONTROL	"&ECR (+402h)",-1,"BUTTON",BS_GROUPBOX|WS_GROUP,8,142,240,28
 CONTROL	"",186,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,152,18,12
 CONTROL	"",102,"COMBOBOX",CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP,38,152,76,102
 CONTROL	"FIFO voll",120,"BUTTON",BS_AUTORADIOBUTTON|WS_DISABLED,152,148,54,10
 CONTROL	"FIFO leer",121,"BUTTON",BS_AUTORADIOBUTTON|WS_DISABLED,152,158,54,10
 CONTROL	"",170,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,152,18,12
 CONTROL	"Richtungsregister (USB2LPT-spezifisch)",19,"BUTTON",BS_GROUPBOX|WS_GROUP,8,172,240,36
}


STRINGTABLE 	// Emulation+Statistik
{
 16 "Möchten Sie wirklich diese nicht standardgemäße Portadresse verwenden?\n\nMit diesem Wert haben Sie die Lunte in der Hand, den Rechner ins Nirwana zu schicken!"
 17 "Die angegebene Portadresse ist keine gültige Hexadezimalzahl!"
 18 "Die Portadresse ist unzulässig: zu klein, zu groß oder nicht durch 4 teilbar!"
 19 "Bei nicht durch 8 teilbaren Portadressen ist keine EPP-Emulation möglich!"
 20 "Ungültige Angabe bei Zeitüberschreitung! (Darf nicht größer als 1000 ms sein.)"
 21 "Festlegung der emulierten Portadresse"
 22 "Die Portadresse muss mit der in Frage kommenden Anwendungssoftware in Übereinstimmung gebracht werden."
 23 "Die Firmware (Software im USB2LPT-Gerät) unterstützt das Feature-Register nicht!"
 24 "keine"	// Seriennummer
 25 "Direkt&hilfe"
}

STRINGTABLE 	// Firmware-Update
{
 32 "Die Firmware konnte erfolgreich in den EEPROM geschrieben werden.\nGerät ab- und anstecken, um die neue Firmware zu starten."
 33 "Unklarer Fehler beim Schreiben der Firmware. Nicht abstecken und noch einmal versuchen. Das Gerät ist womöglich nicht mehr funktionstüchtig!"
 34 "Die Datei »%s« ist nicht als Firmware für dieses USB2LPT-Gerät bestimmt!"
 35 "Datum der aktuellen Firmware: %s\n\nDatum der zu brennenden Firmware: %s\n\nFortfahren?"
 36 "unbekannt"		// Firmware-Datum (frühe Ausgaben enthielten kein Datum)
 37 "Firmware\0*.iic"	// Filter für Datei-öffnen-Standarddialog
 38 "Einwandfreie Funktion."
 39 "Fehlfunktion entdeckt! Kurzschlusstest.EXE macht detaillierte Angaben."
 40 "Liegt an allen 17 Anschlüssen HIGH-Potenzial?"
 41 "Die Firmware der Low-Speed-USB2LPT mit ATmega-Controller kann hiermit nicht aktualisiert werden, aber es kann der Bootloader aktiviert werden, um anschließend mittels »bootloadHID.EXE« zu brennen.\n\nFortfahren?"
}

STRINGTABLE 	// Monitor
{
 48 "SPP (Nibble)\0Bidirektional\0AutoStrobe\0ECP\0EPP\0reserviert\0Test\0Konfiguration"
 49 "Extra-Bit\0reserviert\0Interruptanforderung\0Fehler\0eingeschaltet\0Papierende\0Bestätigung\0beschäftigt"
 50 "Strobe\0AutoFeed\0Rücksetzen\0Auswahl\0Interruptfreigabe\0Datenrichtung, 1 = Eingabe\0nicht vorhanden"
 51 "&Kommando\0&Adresse"	// Beschriftung für Wellenschalter (Radiobutton)
 52 "normal\0Nibble-Modus\0Byte-Modus\0ECP-Modus\0EPP-Modus"
}

#ifndef WIN32	// Für Win32 extra! Zu viel anders!

100 ICON "prop.ico"	// Win32: Nur 1x einbinden!

1 VERSIONINFO
 FILEVERSION 1,3,2009,628
 PRODUCTVERSION 1,3,2009,628
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS VOS__WINDOWS16
 FILETYPE VFT_APP
 FILESUBTYPE 0x0L
{
 BLOCK "StringFileInfo"
 {
  BLOCK "040704E4"
  {
   VALUE "CompanyName",		"haftmann#software\0"
   VALUE "FileDescription",	"Eigenschaftsseiten-Lieferant\0"
   VALUE "FileVersion",		"1.03 (6/09)\0"
   VALUE "LegalCopyright",	"Freeware\0"
   VALUE "InternalName",	"usb2lpt\0"
   VALUE "OriginalFilename",	"usb2lpt.dll\0"
   VALUE "ProductName",		"h#s USB-zu-LPT-Konverter\0"
   VALUE "ProductVersion",	"-\0"
  }
 }
 BLOCK "VarFileInfo"
 {
  VALUE "Translation",0x407,1252
 }
}

#endif
