Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.delphi.misc > #19208 > unrolled thread
| Started by | Jens Kallup <kallup.jens@web.de> |
|---|---|
| First post | 2022-04-08 10:59 +0200 |
| Last post | 2022-04-12 17:28 +0200 |
| Articles | 18 — 2 participants |
Back to article view | Back to de.comp.lang.delphi.misc
beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-08 10:59 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-08 16:57 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-08 17:15 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-08 18:44 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-08 18:52 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-08 21:57 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-09 09:49 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-09 16:41 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-09 21:22 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-10 09:36 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-10 12:14 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-10 15:44 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-10 16:49 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-10 17:46 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-10 19:39 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-11 17:26 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Kallup <kallup.jens@web.de> - 2022-04-11 21:16 +0200
Re: beep Sound von Windows wenn KeyDown Event gesendet wird -.- Jens Köhler <jkoehl@web.de> - 2022-04-12 17:28 +0200
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-08 10:59 +0200 |
| Subject | beep Sound von Windows wenn KeyDown Event gesendet wird -.- |
| Message-ID | <jbabr0FhnemU1@mid.individual.net> |
[Multipart message — attachments visible in raw view] — view raw
Hallo,
ich habe folgenden Codeschnippsel aus meinen Projekt (unte dem Text).
Wenn ich die DBEdit Felder mit der Maus selektiere, dann verhält sich
das Programm so wie es soll.
Wenn ich aber nun die KeyDown1 und KeyDown2 Funktion benutzen möchte,
erhalte ich Beep Sound von Window. Dies ist natürlich mit der Zeit
nervig.
Ich weiss aber nun nicht, wo ich das abstellen kann, bzw. weiss ich
nicht wo der Fehler sein sollte.
Daher meine Frage: wie kann ich die Wiedergabe des Sounds stoppen ?
Ich denke jetzt nicht an die Sound-Einstellungen von Windows selbst.
Vielmehr an Delphi 7.
Vielen Dank für die Hilfe.
Jens Kallup
procedure TForm1.DBEdit1Enter(Sender: TObject); begin DBEdit1.Color :=
clYellow; Table1.Edit; end;
procedure TForm1.DBEdit2Enter(Sender: TObject); begin DBEdit2.Color :=
clYellow; Table1.Edit; end;
procedure TForm1.DBEdit1Exit (Sender: TObject); begin DBEdit1.Color :=
clWhite; Table1.Edit; Table1.Post; end;
procedure TForm1.DBEdit2Exit (Sender: TObject); begin DBEdit2.Color :=
clWhite; Table1.Edit; Table1.Post; end;
procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word; Shift:
TShiftState);
begin
if key = VK_RETURN then
begin
DataSource1.AutoEdit := true;
Table1.Edit;
Table1.Post;
DBEdit2.SetFocus;
end;
end;
procedure TForm1.DBEdit2KeyDown(Sender: TObject; var Key: Word; Shift:
TShiftState);
begin
if key = VK_RETURN then
begin
DataSource1.AutoEdit := true;
Table1.Edit;
Table1.Post;
DBEdit1.SetFocus;
end;
end;
[toc] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-08 16:57 +0200 |
| Message-ID | <t2pih4$jpik$1@solani.org> |
| In reply to | #19208 |
Am 08.04.2022 um 10:59 schrieb Jens Kallup: > Hallo, > > procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word; Shift: > TShiftState); > begin > if key = VK_RETURN then > begin > DataSource1.AutoEdit := true; > Table1.Edit; > Table1.Post; > DBEdit2.SetFocus; > end; > end; Hallo, versuch mal key := 0; am Ende
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-08 17:15 +0200 |
| Message-ID | <jbb1s9FlsgsU1@mid.individual.net> |
| In reply to | #19209 |
[Multipart message — attachments visible in raw view] — view raw
Hallo, het leider nicht den gewünschten Effekt. Ich habe das Projekt auf github veröffentlicht. Eine .exe ist ebenfalls dabei, die ich mit upx.exe gepackt habe, um möglichst kleine .exe'n zu Haben. Wie ich schon geschrieben habe, verwende ich Delphi 7 in der 32-Bit Version. Vielleicht könnte man auch eine 64-Bit Version bauen, aber ich komme im Moment mit der 32-Bit Version von Delphi 7 recht gut zurecht. Sollte etwas fehlen, oder Vorschläge für Veränderungen am Programm vorliegen, dann immer her damit. Vielleicht läßt sich ja ein kleiner Interessenkreis bilden ... Hauptziel dieses Projektes ist es, eine Alternative zu poedit zu gestalten, das in der primitivsten Version schon mit Registrierung und zahle zahle einherkommt. Leider habe ich noch keinen kostenlosen Übersetzer gefunden, da sämtliche (früher kostenlose) Angebote in die Abo-Falle führen. Sei es nun bei google, was von Microsoft als deprecated angesehen wird, oder anders rum. Jeder Services ist mit Cloud dingends oder dieser Betrug mit Azure. Man wird mit kostenlosen freimonaten geködert, und wenn man dann nicht aufpasst, in die Kostenfalle gedrängt. Naja, seis wies will ... das Problem mit der Sound muss doch irgendwie zu lösen sein. ach, fast vergessen, mein Account, mit den Projektdaten: https://github.com/paule32/MopED Mit freundlichen Grüßen Jens Kallup Am 08.04.2022 um 16:57 schrieb Jens Köhler: > Hallo, versuch mal key := 0; am Ende
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-08 18:44 +0200 |
| Message-ID | <t2poob$ju1k$1@solani.org> |
| In reply to | #19210 |
Am 08.04.2022 um 17:15 schrieb Jens Kallup:
> Hallo,
>
> het leider nicht den gewünschten Effekt.
gerade probiert, stimmt.
aber im KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
key := #0;
ist bei mir dann Ruhe.
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-08 18:52 +0200 |
| Message-ID | <jbb7ivFn0d8U1@mid.individual.net> |
| In reply to | #19211 |
[Multipart message — attachments visible in raw view] — view raw
Hallo, ja, jetzt funktioniert es auch bei mir - Danke ! Aber warum ist das so ? Werden die KeyDown und KeyPress anders behandelt (jetzt mal den Parameter Key als Word und einmal als Char vernachlässigt) ? kann es sein, das im KeyDown das Zeichen für #10 irgendwie dafür sorgt, dass der Handler - tjor wie soll ichs schreiben? - einen Pufferüberlauf veranstalltet ? Nur mal so im Kaffeesatz gestochert ... Jens Am 08.04.2022 um 18:44 schrieb Jens Köhler: > ist bei mir dann Ruhe.
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-08 21:57 +0200 |
| Message-ID | <t2q430$k4si$1@solani.org> |
| In reply to | #19212 |
Am 08.04.2022 um 18:52 schrieb Jens Kallup: > Hallo, > > Aber warum ist das so ? > Jens soweit ich weiß, besagt der Ton, das die Eingabe unbearbeitet ans System zurückgekommen ist. Da stand glaub ich etliches in der Hilfe. Bin aber zu faul nachzulesen. Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-09 09:49 +0200 |
| Message-ID | <jbcs46F1tsaU1@mid.individual.net> |
| In reply to | #19213 |
[Multipart message — attachments visible in raw view] — view raw
Am 08.04.2022 um 21:57 schrieb Jens Köhler: > soweit ich weiß, besagt der Ton, das die Eingabe unbearbeitet ans System > zurückgekommen ist. > Da stand glaub ich etliches in der Hilfe. Bin aber zu faul nachzulesen. ja. ich habe hier die alten Hilfedateien vor mir liegen. Da die aber im alten HLP Format vorliegen, und unter Windows 11 nicht mit dem winhelp32.exe Programm unterstützt werden, da nur noch die auch schon etwas angestaubten CHM Dateien supported werden, musste ich einen kleinen Umweg gehen, der mit ziemlichen gefriemmel für manchen User oder Entwickler daher kommt. Danke für den Hinweis ! Ich werde mal versuchen, nähere Informationen dazu im alten Format zu bekommen. Jens, der zweite :-)
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-09 16:41 +0200 |
| Message-ID | <t2s5v1$lair$1@solani.org> |
| In reply to | #19210 |
Am 08.04.2022 um 17:15 schrieb Jens Kallup: > Hallo, > > Hauptziel ist es, eine Alternative zu poedit zu gestalten > Hallo, blöde Frage, was ist oder macht poedit? Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-09 21:22 +0200 |
| Message-ID | <jbe4o1F9h5oU1@mid.individual.net> |
| In reply to | #19216 |
[Multipart message — attachments visible in raw view] — view raw
Am 09.04.2022 um 16:41 schrieb Jens Köhler:
> Am 08.04.2022 um 17:15 schrieb Jens Kallup:
>> Hallo,
>>
>> Hauptziel ist es, eine Alternative zu poedit zu gestalten
> blöde Frage, was ist oder macht poedit?
wenn Du mit den *nix Tools GNU C/C++ Compiler oder dem FPC,
dem Free Pascal Compiler (der Grundlage von Lazarus ist)
programmierst - vor allem dann in mehreren Sprachen, stehst
Du vor dem Problem, wie man denn nun verschiedene Sprachen
der verschiedensten Länder auf der Erde in einen einzigen
Programm unterbring, ohne dabei rekursiven Code zu schreiben.
Rekursive im Sinne von "Mehrdeutig" oder "Doppeltes Lottchen".
Also dem Problem, das man in den Quellcode, alle möglichen
Ländersprachen zur Lokaliesierung die unterstützt werden bzw.
sollen in eine EXE unterbringt.
Freilich kann man sagen, das dies nicht weiter schlimm ist.
Gerade in Zeiten des Überflusses an Speicher.
Man hat sich aber schon sehr früh mit diesen Problem beschäftigt,
um so den Code mit Design-Daten zu trennen.
Herausgekommen ist eine Art Protokoll, die das Programm versteht,
bzw. verstehen muss, um Locales zu nutzen.
Man schreibt also erstmal seinen Code, und überlegt sich schon
in der Planungsphase des Programmes, wo und wie Meldungen für
den Benutzer auftauchen sollen.
Als einfachstes Beispiel wäre:
if MemorySize < 1 then showmessage(LC_NoMoreMemory) else
showmessage(LC_LowMemory); ...
man setzt also Marken/Platzhalter für den Text, der angezeigt werden
soll.
Diese Marken werden dann in eine Map gespeichert.
Eine Map - oder eine TStringList Klasse - wird mit einen Key, also
der Quellsprache initiaziert.
Dann wird der Text in dieser Map als Value-Wert für die Übersetzung
festgehalten/gespeichert.
Unter C++ wäre zum Beispiel folgendes möglich:
std::map< std::string, std::string > LocaleDEU;
...
// der setter:
LocaleDEU['LC_NoMoreMemory'] = "kein Speicher vorhanden !";
// der getter:
std::cout << LocalesDEU['LC_NoMoreMemory'] << std::endl;
Da die meisten Programme sich bis in wenigen Merkmalen meist ähnlich
sind (also der Kontext auf Meldungen), hat man sich gedacht, Wörter-
bücher einzusetzen, die dann bei jeden Programm beigelegt und auch
erweitert werden können.
Diese Wörterbücher sind von einen Tool/Compiler erzeugte de_DE.mo
Dateien, die in einer Query-Sprach-Datei namens:
"original.po"
als Quellsource Text datei vorliegt.
*.mo Dateien bilden einen StringHash, also eine kleine Datenbank
mit einen Index auf Gruppen, Blöcke oder einzelne Einträge darstellt.
Hashes sind ja dafür bekannt, das sie ähnlich wie eine Map funktion-
ieren - nur halt ein klein wenig schneller.
Hat man also nun ein solches Wörterbuch angelegt und als Datei vor
sich auf den Computer zur Verfügung hat, kann man das Kommando-Zeilen
Programm "msgfmt.exe" nutzen, um binäre *.mo Dateien zu erzeugen.
Da das Programm von OpenSource Leuten programmiert wurde, ist es auch
bei Einhaltung einer kleinen Lizenz kostenlos nutzbar und auch dann
wieder distrubute-able (mit den Eigenen Programm - ob das nun in
binärer (compilierter), oder Quellcode (Textdatei) Form vorliegt spielt
hierbei erstmal keine Rolle (so lange Du kein Profit machen willst ! ).
Das *.po Dateiformat, das die Grundlage von *.mo Dateien ist hat in
etwa folgenden Aufbau:
# kommentar oder Sterungszeile
msgid "Message ID"
msgstr "Dies ist der Übersetzte Text"
...
man muss hierbei nicht unbedingt darauf achten, das man einen Datenbank
Index folgt (wie große Datenbankensysteme verlangen).
Dadurch sind diese Dateien und Tools sehr schnell.
die "msgid" gibt als String die Marke im Quelltext des Programmes an,
die übersetzt werden soll.
Der übersetzte Text wird dann eine Zeile tiefer mit "msgstr" angegeben.
Delphi 7 bietet sowas ähnliches mit "RESOURCESTRiNG".
Hierbei werden im laufenden Programmierprozeß - also letzendens im
Quellcode wieder konstante Marken als Resource Typus String in einer
sprachbezogener Länder/Locales Datei gespeichert/compiliert.
Diese Dateien haben dann zum Beispiel die Erweiterung:
*.DEU für Deutsch
*.ENG für English (British)
*.ENU für English (USA)
Ein Nachteil hierbei ist aber, das bei Änderungen des Quellcode eines
Projektes/Programms die gesamten Resourcen Dateien mit den Programm
kompiliert werden müssen.
Schon alleine das birgt hohe Gefahren, weil Delphi 7 die Eigenart hat,
manches zu verschlucken oder einfach zu löschen - kann man ja auch
schön daran sehen, wenn ein Event-Handler im Inspektor angelegt wird,
und anschließend STRG + F9 gedrückt wird - dann wird dieser Code, der
eigentlich leer ist, einfach gelöscht.
Also ich bin da meist recht pessimistisch, weil mich das mal in einer
Anwendung 2 Tage Arbeit zunichte gemacht hat.
Man hat also dann eine EXE als Hauptprogramm, und mindestenz zwei
Ressource Dateien, die dann den Speicher volldonnern.
Mit *.mo Dateien, die extern behandelt werden (ja die *nix waren und
sind ja schlaue Menschen) in den Speicher geladen und wieder aus diesen
entladen werden können.
Zudem sind *.mo Dateien dann reichlich schlanker als die Resourcen
Dateien, die Delphi anlegt.
Ich will Delphi nicht kaput schreiben oder schwätzen.
Ich nutze es ja fast jeden Tag.
Nur sind mir dabei ein paar Punkte in den Sinn gekommen, die dann sind
- wie haben die das gemacht
- wie kann man das besser machen
- wie kann man Speicher, und vor allem
- wie kann man einen großen Nutzerkreis erschließen, indem man
dem Benutzer des Programmes spezifisch auf sein Land und/oder Region
eine Sprachunterstützung hinzu gibt.
Kurz: *.mo Dateien sind einfach nur Dateien, die zuvor im Speicher als
Hashes vorgelegen haben, und dann in eine Datei gepuffert, mit
einer bestimmten (meist festen) Struktur/(beschreibender Record)
vorliegen.
Jetzt kommt POEDIT ins Spiel.
Dieses Programm kann kostenlos vom Internet bezogen werden.
Hat aber den Nachteil, das dort ein Abo gekauft werden muss, wenn man
Premium Funktionen nutzen möchte.
Man muss sich auch Registieren, um einen Key als Registrierung eingeben.
Was ich als Tool, welches ich auch kostenlos per Hand auf der Konsole
steuern kann etwas übertrieben.
Ich habe mal recherciert im Internet, und ähnliche Programme gefunden.
Allerdings wird meist auf cloud oder Google Services verwiesen, die
dann eine Kostenfalle darstellen können.
Das ist zum Beispiel einer der Gründe meiner Motivationen ein Eigenes,
und kostengünstigeres Tool zu erstellen - mit den Gedanken, das es auch
irgendwer und irgendwann auch der Eine oder Andere für sich einsetzt
und ggf. nicht entlastet (also den Geldbeutel).
Das natürlich kein kapitalistisches Manager denken...
Aber ich denke, das ich durch die Entbehrungen, die Andere mit mir haben
dadurch entgegen komme, und kostenlos Programme anbiete.
So nach dem Motto: Eine Hand wäscht die Andere.
In diesen Sinne, Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-10 09:36 +0200 |
| Message-ID | <t2u1ee$mal7$1@solani.org> |
| In reply to | #19217 |
Am 09.04.2022 um 21:22 schrieb Jens Kallup: > Am 09.04.2022 um 16:41 schrieb Jens Köhler: >> Am 08.04.2022 um 17:15 schrieb Jens Kallup: >>> Hallo, >>> >>> Hauptziel ist es, eine Alternative zu poedit zu gestalten > >> blöde Frage, was ist oder macht poedit? > > Du vor dem Problem, wie man denn nun verschiedene Sprachen > der verschiedensten Länder auf der Erde in einen einzigen > Programm unterbring, ohne dabei rekursiven Code zu schreiben. > > In diesen Sinne, Jens Danke für die wirklich ausführliche Erklärung. Ich hatte bis her nicht mit mehrsprachig zu tun, und ich denke, das wird sich auch nicht ändern. Meine 1. Idee dazu währe aber, die Sprachen einfach in Ini-artige Dateien zu packen und je nach eingestellter Sprache die passende in eine Stringlist oÄ. einzulesen. Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-10 12:14 +0200 |
| Message-ID | <jbfp0oFiqudU1@mid.individual.net> |
| In reply to | #19218 |
[Multipart message — attachments visible in raw view] — view raw
Am 10.04.2022 um 09:36 schrieb Jens Köhler: > Danke für die wirklich ausführliche Erklärung. Bitte :-) > Ich hatte bis her nicht mit mehrsprachig zu tun, und ich denke, das wird > sich auch nicht ändern. Also nur deutschsprachig ? > Meine 1. Idee dazu währe aber, die Sprachen einfach in Ini-artige > Dateien zu packen und je nach eingestellter Sprache die passende in eine > Stringlist oÄ. einzulesen. ehm ja, gute Idee. Aber ich weiß gerade nicht, inwiefern Du das Programm schon genuzt hast; also die mopo.exe... Im eigentlichen Programm verwende ich eine kleine dBase-formatige Datei die da mit den Namen "default.dbf" daher kommt. In dieser speichere ich dann die "msgid", den "msgstr", die "FILE", und die "LINE", für die Code-Line, an der die zu übersetzende Marke zu finden ist. Falls Du mal den Quelltext betrachtest, kannst Du vielleicht erkennen, das ich diese Datei im FormCreate Event-Handler erstellen lasse, falls diese nicht existiert. Gleiches gilt für die "default.ini", die ich dazu nutze, im sekundäre Daten zu Speichern. Der Quellcode schaut im Moment eventuell noch etwas aus wie Kraut und Rüben - ist aber eine Vorstufe, f+r die Nutzung des Tools mit den Tool. Klingt jetzt etwas komisch. Aber es gibt ja auch Sprach-Compiler die sich selbst kompilieren, sprich den Quellcode vom Compiler übersetzt genau der gleiche Compiler dazu. Diese Art Tool nennt man auch "Compiler-Compiler". Das hast Du eventuell schon von den Tools "flex, und Bison/Yacc" hören können. Gruß, Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-10 15:44 +0200 |
| Message-ID | <t2umvb$mold$1@solani.org> |
| In reply to | #19219 |
Am 10.04.2022 um 12:14 schrieb Jens Kallup: > >> Ich hatte bis her nicht mit mehrsprachig zu tun, und ich denke, das >> wird sich auch nicht ändern. > > Also nur deutschsprachig ? > Aber ich weiß gerade nicht, inwiefern Du das Programm schon genuzt hast; > also die mopo.exe... > > Im eigentlichen Programm verwende ich eine kleine dBase-formatige Datei > die da mit den Namen "default.dbf" daher kommt. > > Gruß, Jens Hallo, ich programmiere nur als Hobby, wenn mir mal eine Funktion fehlt der ich etwas interessant klingendes probieren will. In letzter Zeit aber wenig. Von daher nur in deutsch und ohne Interesse an Mehrsprachigkeit. Ich habe mal etwas über solche Sprachverwaltungssysteme gelesen, aber mich mangels Bedarf nie weiter damit beschäftigt. ResourcStrings habe ich mir mal interessehalber angesehen. Mopo habe ich nie probiert, vorher noch nicht nicht mal was davon gehört :-) Ob es sich lohnt, ein ganzes Datenbanksystem mitzuschleppen bzw. vorraus zu setzen statt einzelner Dateien, kann ich nicht sagen. Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-10 16:49 +0200 |
| Message-ID | <jbg93sFlruvU1@mid.individual.net> |
| In reply to | #19220 |
[Multipart message — attachments visible in raw view] — view raw
Am 10.04.2022 um 15:44 schrieb Jens Köhler: > Ob es sich lohnt, ein ganzes Datenbanksystem mitzuschleppen bzw. vorraus > zu setzen statt einzelner Dateien, kann ich nicht sagen. nun. Ich bin ja von einen Kumpel an Datenbank-Systeme gekommen. Damals war das dBase 4 für DOS, dann für Windows 98 Visual dBase 5, und dann später mit Visual dBase 7 für Windows 2002. Alle Systeme haben einen magischen Bann auf mich gezogen. Allerdings muss ich sagen, das diese Programme seit der DOS-Version ziemlich ekelig verbuggt waren, und eher was für die Tonne waren. Dann habe ich begonnen, mein Eigenes dBase System zu programmieren. Das ganze Projekt ist ein wenig ins stocken gekommen, weil ich auf andere Projekte angewiesen wurde. Das ist dann so zu betrachten, wenn man dann an ein einen Punkt in ein laufendes Projekt ankommt, und dann doch zusätzliche Software benötigt, um dann schließlich weiter zu kommen. Dabei ist dann eine Web-Oberfläche entstanden, die ich Online als Bewerbungs-Projekt in der alpha-Version veröffentlicht habe. Falls Du mich auch in dieser helfen möchtest, kannst Du Dich das gerne mal ansehen - ich habe da noch keine Benutzer und Passwort- Abfragen integriert, damit interessierte sich einfach durchklicken können. Die URL dahin lautet: https://kallup.zapto.org/pub/desk Da sollte dann ein kleiner Einführungstext stehen, den ich dann noch ein wenig ausbauen sollte und für die AGB's nutzen sollte. Naja, jedenfalls kann man da auf der linken Seite auf "Informatik" klicken, und man kann sehen, das Windows XP gestartet wird. Auch hier kommt man einfach durch einen klick auf den angezeigten Button auf die Oberfläche. Dort habe ich begonnen, dBase für Web zu initiazieren. Man kann, falls ich das noch irgendwann fertigstellen kann, wie unter Windows Formulare anlegen, Datenbank-Dateien anlegen und so eine Internet-Anwendung unabhängig vom verwendeten Betriebssystem nutzen. Das was da in den kleinen Fenster zu sehen ist, kann man auch dann später in Browser-Fenster Größe sehen - aber wie gesagt, alles noch alpha-Status. Was mein Windows-Programm-Projekt anbelangt, so denke ich, das es kein ganzes Datenbank-System braucht, da ich zwar die Funktionen der Datenbank-Funktionen in Delphi nutze, aber keinen Bezug auf die etwas angestaubte Version der BDE (Borland Database Engine) nehme. Selbst das Erstellen von Datenbankdateien kann man unter Window 11 mit den von Delphi 7 mitgelieferter Datenbank-Oberfläche vergessen. Leider kann ich auf eine ältere Version von dBase nicht mehr oder weniger zugreifen, da mein damaliger Kumpel von seinen letzten Wohnort gewechselt ist. Und ich nicht mein Geld für Bugsoftware ausgeben möchte. Es gibt zwar Trial-Versionen. Aber diese laufen nur 30-Tage... Naja, egal, ich bleib da stay tuned. Gruß, Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-10 17:46 +0200 |
| Message-ID | <t2uu4a$mti3$1@solani.org> |
| In reply to | #19221 |
Am 10.04.2022 um 16:49 schrieb Jens Kallup: > Am 10.04.2022 um 15:44 schrieb Jens Köhler: >> Ob es sich lohnt, ein ganzes Datenbanksystem mitzuschleppen bzw. >> vorraus zu setzen statt einzelner Dateien, kann ich nicht sagen. > Ich habe jetzt mal Tante Google zu PoEdit befragt. Ich habe das Ganze wohl etwas Mistverstanden und jetzt erst erkannt, was Du machen willst. War wohl zu viel Erklärung für Sonntags. :-) Damit war auch die Frage nach der Datenbank Quatsch. Ich kann Dein Programm allerdings auch nicht probieren, mein D5 Standard ist ohne DB-Komponenten. Deshalb habe ich da für mich auch was Eigenes geschrieben. Aber die Exe läuft nicht und die Quellen lassen sich nicht übersetzen. exception class : EDBEngineError exception message : An error occurred while attempting to initialize the Borland Database Engine (error $2108). Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-10 19:39 +0200 |
| Message-ID | <jbgj1rFnobhU1@mid.individual.net> |
| In reply to | #19222 |
[Multipart message — attachments visible in raw view] — view raw
Am 10.04.2022 um 17:46 schrieb Jens Köhler: > > exception class : EDBEngineError > exception message : An error occurred while attempting to initialize > the Borland Database Engine (error $2108). ah okay. Da muss ich nochmals basteln. Aber wenn Du mir helfen magst, kannst Du Dich ja an eine INI-Version ran machen. Die 32-Bit Version von Delphi 7 kannst Du hier kostenlos downloaden: https://winworldpc.com/product/delphi/70 Was die verwendeten Komponenten angeht, werden ich dann für Dich eine Site anlegen, um dann eine gemeinsame Basis zu haben. Gruß, Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-11 17:26 +0200 |
| Message-ID | <t31hbq$oi2q$1@solani.org> |
| In reply to | #19223 |
Am 10.04.2022 um 19:39 schrieb Jens Kallup: > Aber wenn Du mir helfen magst, kannst Du Dich ja an eine INI-Version > ran machen. > Gruß, Jens Ob das geht kann ich noch nicht sagen. So nebenbei muß ich noch arbeiten gehen und im Garten ist momentan auch einiges zu tun. Ich werde mir das aber auf alle Fälle mal genauer ansehen. Mit Kommentaren ist es ja in Deinem Quelltext nich so weit her. :-) Gibt es Ansätze für eine Doku, so zum besseren Verständnis? Jens
[toc] | [prev] | [next] | [standalone]
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Date | 2022-04-11 21:16 +0200 |
| Message-ID | <jbjd3lF9nv1U1@mid.individual.net> |
| In reply to | #19224 |
[Multipart message — attachments visible in raw view] — view raw
Am 11.04.2022 um 17:26 schrieb Jens Köhler: > Ob das geht kann ich noch nicht sagen. So nebenbei muß ich noch arbeiten > gehen und im Garten ist momentan auch einiges zu tun. Ich werde mir das > aber auf alle Fälle mal genauer ansehen. ja, gerne würde mich auch freuen darüber. Es eilt ja nicht - ich verdiene meine Brötchen nicht mit Programmierung von Computerprogrammen. Falls es vielleicht dann noch Regentage gibt, und Du nicht die Würmchen zählen magst, dann ist es doch okay, mal sich damit zu beschäftigen. > Mit Kommentaren ist es ja in Deinem Quelltext nich so weit her. :-) > Gibt es Ansätze für eine Doku, so zum besseren Verständnis? nu. Kennst das doch: Programmierer sind eher lazy. Und für die Dokumentation gibt es ja für üblich Dokumentations-Schreiber, die mit ganz anderen Programmen arbeiten. Eines davon kann ich Dir empfehlen, da ich es auch für die (fast) tägliche Dokumentation verwenden. Der Name ist HelpNDoc - google mal danach für Version 7.9. Ich habe zwar nur die Standardversion, aber für private Zwecke reicht auch die kostenlose Version, die Du ebenfalls downloaden kannst - aber dann mit einen kleinen Banner am Ende der Dokumentation. Früher haber ich mal Doxygen verwendet, eine XML-Datei erstellt und auf Grundlage dieser dann HTML Seiten geniert. Beides hat seinen Vor- und Nachteil - also GUI Design - und Skriptsprach dokumentieren. Momentan arbeite ich auch daran, eine Kombination aus beiden zu strik- ken. Für Dokumentation für das "msgfmt" Tool ist schon gesorgt: https://de.wikipedia.org/wiki/GNU_gettext https://docs.transifex.com/formats/gettext https://man7.org/linux/man-pages/man1/msgfmt.1.html https://webtranslateit.com/docs/file_formats/gettext_po https://itstool.org/documentation/basic-usage.html https://www.labri.fr/perso/fleury/posts/programming/a-quick-gettext-tutorial.html Gruß, Ich
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2022-04-12 17:28 +0200 |
| Message-ID | <t345q5$q54r$1@solani.org> |
| In reply to | #19225 |
Am 11.04.2022 um 21:16 schrieb Jens Kallup: >> Mit Kommentaren ist es ja in Deinem Quelltext nich so weit her. :-) >> Gibt es Ansätze für eine Doku, so zum besseren Verständnis? > Kennst das doch: Programmierer sind eher lazy. Und für die Dokumentation > Gruß, Ich mit Doku meinte ich eher zu Deinem Programm. den: SpeedButton2Click(Sender: TObject); s := Trim(Edit5.Text); Edit10.Text := ReadString(s, '10', ''); Edit11.Text := ReadString(s, '11', ''); b1 := ReadBool(s, '13', true ); mit den nur aus Zahlen bestehenden Einträgen in Deiner Ini sind nicht wirklich aussagekräftige Bezeichnungen und selbst für eingeweichte vermutlich keine 2 Wochen verständlich. :-) Für Andere ist das nicht leicht nachzuvollziehen. Selbst als Leie mache ich zumindest Kommentare am Anfang, was eine Funktion macht und versuche auch sonst, sinnvolle Namen zu vergeben. Jens
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.delphi.misc
csiph-web