![]() |
Einfacher Texteditor
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
Heute will ich euch meinen Texteditor vorstellen, er hat das besondere Feature, dass er den Gesamten Text in der Registry Speicher und ihn beim nächsten Programmstart auch automatisch wieder aufruft, damit versucht er Datenverluste bei Stromausfällen, Bluescreens etc. zu vermeiden. Außerdem sind noch "Spielereie" eingebaut wie z.B: Alarm, Taschenrechner, Uhr, ein Internetbrowser... Mit inbegriffen ist der Ansatz einer Producktregistrierung, die Key's geb ich euch natürlich mit :-D! Die Updates habe ich ausgeschaltet, da diese noch nicht richtig funktionieren. Dieser Texteditor soll sich durch seine einfache Bedienung und die integrierten Features behaupten und soll keine billige Kopie von anderen kommerziellen Texteditoren sein! Features: * Kontinuierlich automatisches sichern des Textes * Einfach zu Bedienen * "Eingebauter" IE * Ansatz einer Producktregistrierung * "Eingebauter" Alarm * "Eingebauter" Taschenrechner * Lesemodus, dh. man kann den Text nur lesen aber nicht ändern, (praktisch bei Vorführungen) * "Eingebaute" Uhr * "Eingebaute" Resetfunktion Bekannte Bugs: - Man kann die integrierte Tabelle nicht speichern. (Vielleicht weiß ja jemand wie man ein F1Book1 speichert?) - Der Texteditor wurde so programmiert das er auf einem 1280*800 Bildschirm ordentlich aussieht, auf anderen Bildschirmen sieht er sonst leicht gestreckt aus... - Die Updatefunktion funktioniert nicht (Ich arbeite dran) Ich werde den kompletten Quellcode und die Projektdateien mit geben, aber ich bitte euch ihn nicht ein wenig zu ändern und ihn dann wieder i-wo hochzuladen unter eurem Namen, da ich viele Stunden in das Projekt und die Programmierung investiert habe! DANKE :roll: Wer Fragen zum Quelltext hat kann mich dies hier natürlich fragen! Für Verbesserungsvorschläge bin ich immer offen! |
Re: Einfacher Texteditor
Hallo habe gerade mal versucht deinen Editor auszuprobieren, aber no Way :(
Stürzzt bei mir sofort beim start ab unter Windows Vista... Also irgendwo ist noch der Wurm drinn :) |
Re: Einfacher Texteditor
Liste der Anhänge anzeigen (Anzahl: 1)
Hmmmmm...also mir ist dieses Programm umsympatisch...weil:
1. Brauch ich einen Productkey 2. Nach dem Start vom Programm, arbeitet meine Festplatte 10 Sekunden lang (was zur hölle macht das Programm in der zeit?) 3. Anschließend bekomme ich die Fehlermeldung im Anhang unter Windows xp |
Re: Einfacher Texteditor
Und den Code könntest du auf einen Bruchteil der Länge kürzen und viel übersichtlicher gestalten, wenn ich ihn grob überfliege. Aber ich denke, das kommt mit der Zeit alles. Ich würde es dir ja gerne umschreiben, damit du etwas dazu lernst, aber das ist mir momentan etwas viel Arbeit.
Ein paar Beispiele:
Delphi-Quellcode:
Kannst du so schreiben:
if a then b;
if a then c; if a then d;
Delphi-Quellcode:
Dann solltest du deine Prozeduren und Komponenten so benennen, dass du verstehst, was da passiert. Kommentare sind ebenfalls wichtig, sonst weißt du in 4 Monaten nicht mehr, was du gemacht hast.
if a then
begin b; c; d; end; oder das hier mit den "{bf99ecd9-125b-5608-0de4-b037ac06ffd7}"-Strings. Statt
Delphi-Quellcode:
Kannst du so vereinfachen:
if a = 'a' then b;
if a = 'a' then c; if a = 'y' then b; if a = 'y' then c; ...
Delphi-Quellcode:
Oder das hier:
if (a = 'a') or (a = 'y') then
begin b; c; end;
Delphi-Quellcode:
Kürzer und sauberer geht es so:
If Label1.Caption = '01:00:00' then ShowMessage ('Es ist jetzt 01:00 Uhr');
If Label1.Caption = '02:00:00' then ShowMessage ('Es ist jetzt 02:00 Uhr'); ...
Delphi-Quellcode:
Gut, die 3 Zeichen ":00" kannst du natürlich davor noch herauslöschen.
ShowMessage ('Es ist jetzt ' + Label1.Caption + ' Uhr');
Das sind nur ein paar Beispiele und ich hoffe, du lernst daraus und weißt, wie du deinen Code zukünftig etwas ordentlicher gestalten kannst. :) Als Anfänger stecken zahlreiche Stunden in so einem Programm, das weiß ich. Aber das wird keiner abändern und unter seinem Namen veröffentlichen. Da bin ich mir sicher. ;) Für dich ist es aber gut, da du so siehst, wie man was besser machen kann. Grüße, Matze |
Re: Einfacher Texteditor
Zitat:
Die meisten Leute befassen sich intensiv damit die Registry zu optimieren und möglichst klein zu halten und du verwendest die Registry um DATEN zu speichern???? Gut, dass du diese "Warnung" in die Beschreibung aufgenommen hast..... :gruebel: Warum in der Registry? Speicher doch in eine einfache Datei. Du schreibst, dass dadurch Datenverluste durch Stromausfälle usw. vermieden werden sollen. Die Registry ist, wenn es wirklich zu einem Stromausfall kommt nicht sicherer als jede normale Datei. Wenn der Ausfall aber gerade beim Speichern des Backups passiert dann hast du im ungünstigsten Fall die Registry geschrottet. Speicherst du in einer normalen Datei (und der Ausfall schlägt genau dann zu) dann ist nur diese eine Datei kaputt. |
Re: Einfacher Texteditor
Zitat:
theoretisch besteht doch die Möglichkeit, daß man einzelne Teile der Registry in extra Dateien auslagern kann. PS: wozu gibt es denn GetSystemRegistryQuota, wenn man damit die Beschränkungen nicht ins Unermessliche steigern kann :roll: PS: bei mir startet das Programm weder unter XP, noch unter Windows 7 |
Re: Einfacher Texteditor
Also, janz ehrlich:
Große Datenmengen gehören auf die Festplatte. Und da sollte man auch nicht anfangen, die Registry in externe Dateien auszulagern. Man nimmt sich ein Verzeichnis mit schreibrechten, und legt dann meinetwegen alle 30 Sekunden ne Backup-Datei an und überschreibt die alte. Dit mit dem Key find ich süß...:mrgreen: |
Re: Einfacher Texteditor
Danke für all eure Tips, ich werde sie auch beherzigen! Aber: Ich bin ein 14 Jähriger und kein superprogrammierer, hab mir das alles selber beigebracht, spricha usprobiert und verfeinert! Noch dazu habe ich das Programm vor ca. 1 1/2 Monaten fertig gestellt und seit dem hab ich noch eine Menge in sachen übersichtliche Programmierung etc. gelernt!
Vielen Dank trodtzdem für die Kritik! :-D Und ähm falls ihr wollt kann ich euch noch ein tool geben von mir, das den key wieder aus der Registry löscht also keine Angst! Außerdem wird der KEy immer wieder geleert, wenn ihr den Text aus dem Dokument löscht! |
Re: Einfacher Texteditor
Also in Richtung Fehlerbehandlung solltest du dich mal etwas Schlau machen.
Try-Except ist zwar schonmal ein Anfang (hey, viele kennen nichtmal Dieses), aber besser wäre es, wenn man erst garkeine Exceptions entstehen läßt, welche man dann erst wieder abfangen muß. z.B. * prüfen ob Dinge vorhanden sind - also z.B. ob der Registry-Pfad schon existiert und auch die Werte darin * prüfen von externen Eingaben - da wären z.B. ob externe Werte auch im richtigen Bereich liegen ... wie z.B. der Farbwert, welcher beim ersten Start die Exception auslößt, wenn der nichtvorhandene Wert, also der Leerstring in einen Farbwert umgewandelt werden soll * StrToInt bzw StrToFloat sollten nur verwendet werden, wenn die Werte korrekt sind - hier gibt es z.B. ![]() ![]() Mit was hast du den Editor eigentlich kompilert, bzw. welche Entwiklungsumgebung (Delphi, Lazarus, ...) und Version nutzt du? Daß dein Programm einfach so abstürzt und bei mir sich überhaupt nicht starten läßt ist schon eigenartig, vorallem da es neukompiliert über deinen Quellcode plötzlich läuft. Ansonsten schau dich einfach etwas im Forum und vorallen in den QuellCodes der anderen User, bzw. in der ![]() und wegen deinem Alter brauchst dir keine Sorgen machen ... ich war auch nicht viel älter als du, als ich anfing, hab anfangs mir auch fast alles selbst beigebracht und ich lerne selbt JETZT noch vieles dazu und machen nicht alles "richtig" :oops: |
Re: Einfacher Texteditor
Zitat:
Danke! Also immoment Arbeite Ich mit Delphi 7 Enterprise (Schulversion) Und ich arbeite grad an dem Quelltext, ihn zu verbessern z.B. If ... then ... If ... then ... If ... then ... If ... then ... If ... then ... ersetz ich den janzen mist nun durch: If ... then begin ... .... ..... Und das mit der Registry mach ich auch weg ich speichers einfach inna datei, die nach einem Absturtz des Systems bei bedarf wieder aufgerufen werden kann... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz