![]() |
ini editor
Liste der Anhänge anzeigen (Anzahl: 2)
mahlzeit!
ich habe mal nen kleinen ini editor geschrieben. das macht das bearbeiten von inis einfacher und übersichtlicher. da kann man eigentlich nichts mehr zu sagen. schauts euch einfach an. so: hoffentlich letzter fehler behoben |
Re: ini editor
Das ist ja witzig, ich hatte auch einen gemacht, denn ich gerade hier vorstellen wollte, weil ich keine Lust mehr habe daran zu arbeiten.
Ich glaube ich poste meinen Trotzdem noch. Zu deinem Ini Editor: Du solltest noch die möglichkeit geben weitere Sections und Identifer hinzuzufügen, und man sollte auch den Sectionnamen und den Ident editieren können. Und dann solltest du dir am bessten jede änderung direkt nach dem geschehen tempörär speichern, damit du auch auf neue Sections und neue Idents wieder zugreifen, bzw auslesen kannst. D.H wenn der user z.B eine neue Section anlegt fügst du diese zu der ini datei hinzu, und speicherst diese irgendwo im Temp Verzeichnis (löschen im Close nicht vergessen) dann arbeitest du z.B mit der Temp datei weiter und wenn der User z.B neue Ident hinzufügt oder Idents lösche bzw ändert, dann löscht du die gesamte Section in der TempDatei und schreibst diese in einer schleife anhand deines StringGrids neu. Ist aber nur nen Vorschlag |
Re: ini editor
Moin,
mensch kingflo, wieso postest denn deinen Inieditor auch noch hier rein. Du hast doch einen eigenen Thread. Naja, soll sich ein Mod drum kümmern. :roll: Wie wärs denn mit einer Option 2 Inis zu synchronisieren? Damit man die Sections hin- und her kopieren kann und sowas. ;) MfG freak |
Re: ini editor
Hatte meinen Anhang schon wieder rausgenommen, war ein versehen, da ich beim Anhängen den Tab in Firefox verwechselt habe sorry
|
Re: ini editor
Was mir spontan aufgefallen ist:
- Änderung der Formulargröße nicht möglich (sehr nervig, da ich meist auch ziemlich lange INI-Einträge habe) - Sections können nicht umbenannt werden - Items können nicht umbenannt werden - es können keine neuen Sections bzw. Items angelegt werden Noch eine Anmerkung zu dem Post von kingflo wg. dem "temporären" abspeichern der Änderungen. Wenn du zum Editieren statt TINIFile TMemIniFile verwendest brauchst du da gar nix besonderes zu machen, sondern einfach am Ende "UpdateFile" aufzurufen, dann stehen die Änderungen in der INI-Datei, da alle Änderungen dann sowieso erst "temporär" im Speicher stattfinden. |
Re: ini editor
Zitat:
|
Re: ini editor
Hi!
Keine Schlechte Idee sowas zu programmieren... Schafft dein Ini-Editor auch IniDateien über 64KB zu öffnen (also verwendest du den normalen TIniFile oder etwas anderes?) Verbesserungsvorschläge: - bisschen mehr designen (Der Button da unten sieht nicht gerade gut aus...) - Beim beenden soll gefragt werden, ob die Änderungen gesdpeichert werden sollen (falls Anwender vergisst Button zu klicken)... Sonst ganz nett... Greetz by Hux :dp: |
Re: ini editor
Erweiterungsvorschläge:
- Drag&Drop einbauen, sodass man Files auf den Editor ziehen kann - UnDo-Funktion - geänderte Sections und Werte farblich hervorheben - "Sections" umbenennen in "Abschnitte" - vertikale Scrollbalken hinzufügen - Fenstergrösse veränderbar machen (wurde schon genannt) - Kurze Hilfe-Funktion - Update des IniEditors - Menupunkt "Datei-Schliessen" - Button "Änderungen verwerfen" - Bei Beenden abfragen, ob gespeichert werden soll, wenn nicht gespeichert - die Komponenten richtig bennennen (z.B. Button1 -> BuSpeichern) - Beim Öffnen einer Ini soll sofort die erste Sektion geöffnet werden - Buttonleiste mit den wichtigsten Funktionen Fehler: - wenn man mehrere verschiedene Ini's nacheinander öffnet, werden alle Sektions der alten Ini's angezeigt!!! Passiert auch, wenn man die gleiche Ini mehrmals öffnet. Sonst ist der IniEditor aber Klasse. Könnte doch glatt in unsere Standard-Ausrüstung in der Firma übernommen werden. |
Re: ini editor
mensch! das sind ja ganz schön viele verbesserungsvorschläge. an das mit dem sectionnamen ändern hab ich gar nicht gedacht. wird noch eingebaut. das mit dem tmeminifile muss ich mir erstmal angucken, hab mich noch nie damit beschäftigt, weil tinifile eigentlich immer gereicht hat. ich werd mich dann nochmal dransetzen (sind ja ferien :-D ).
|
Re: ini editor
Ich hätte da noch einen Vorschlag:
Rauskriegen, welche Art Eintrag es ist (String, Integer, Float, Boolean, IP-Adresse, [edit]Verzeichnis/Datei[\edit]) und im Editor entsprechend reagieren (z.B.: combo mit true/false für bool, formatierte Eingabe für float und integer, [edit]Filebrowser[\edit]....). Dann sollte man aber evtl die Art des Eintrages ändern können |
Re: ini editor
Ist nicht so einfach, da sowohl Boolean als auch Integer mit 0, 1 abgespeichert werden...
Und desweiteren kann auch ein String 0 oder 1 sein... |
Re: ini editor
Was ich eigentlich immer schreibe aber noch nie jemand beachtet hat ;): XP-Style ;)
Wenn jemandem der XP-Style gefällt, dann passts so und wenn er ihm nicht gefällt bekommt er ihn sowieso nicht zu Gesicht weil er ihn im Windows deaktiviert hat. Ansonsten kann ich mich nur den anderen Verbesserungsvorschlägen anschliessen. Gut fände ich auch noch eine Funktion um eine neue Ini zu erstellen. |
Re: ini editor
@SubData: Man müsste schon in einer bestimmten Reihenfolge vorgehen: z.B.: erst Schlüssel als Bool lesen, wenn nicht klappt als integer usw. und weils bei sowas immer zu Missverständnissen kommen kann muss natürlich der Schlüsseltyp im Programm (möglichst mit nur einem Click) änderbar sein.
btw. da fallen mir gleich noch mehr Erweiterungen ein: 1. Recent Files Liste 2. Einträge aus/einkommentieren (konfigurierbare Kommentarzeichen (z.B.'..') davor schreiben); wenn mehrere Einträge mit selben Namen, und einer wird einkommentiert (oder wie heisst das), dann werden alle anderen mit dem gleichen Namen auskommentiert. Kann man z.B.: nutzen, wenn im IniFile mehr als ein Server steht zum schnellen Umschalten. 3. Werteliste (Kommagetrennt) |
Re: ini editor
das mit dem rauskriegen welcher datentyp gespeichert ist mir auch schon eingefallen, aber ich hab es wieder verworfen, da das nicht so einfach geht. wie subdata schon sagt. ich kann kann einen boolean speichern und diesen dann z.b. als integer auslesen.
dann werd ich mal noch ein xpmanifast einbauen. bin jetzt fast fertig mit einer neueren version. es gibt nur noch ein paar kleinere probleme die sich aber bestimmt lösen lassen. |
Re: ini editor
Genau das meinte ich...
Du kannst ne 1 als String speichern und diese dann als Boolean oder Integer auslesen... Oder nen Boolean speichern und diesen dann als String / Integer auslesen... Float glaub ich gibs direkt als Ini Eintrag noch nichtmal, da kannst höchstens die Zahl an sich als String formatieren und in die Ini schreiben. Aber was anderes: Bau ne Funktion ein um Einträge zu kommentieren und achte beim Speichern darauf, dass die Kommentare auch wirklich über dem richtigen Eintrag stehen :) Dazu kannst du dann zwar nicht mehr die TIniFile Komponente benutzen, aber das wäre mal ne nette Herausforderung und etwas, was ich sehr sehr praktisch finden würde. |
Re: ini editor
so! ich hab jetzt mal die neuere version des ini editors hochgeladen. ich konnte nicht alle vorschläge umsetzen aber einige. ich werd mal sehen was sich noch machen lässt. neue version: siehe oben
|
Re: ini editor
einige meiner gemeldeten Fehler sind immernoch drin.
kannst Du das bitte prüfen? ansonsten: gut gemacht. gruessle |
Re: ini editor
stimmt. das mit dem neu öffnen hatte ich vergessen. werd ich korrigieren.
|
Re: ini editor
Hi.. bin neu hier und finde der editor ist echt Klasse..
meine Frage daszu ist folgende.. 1. ist es möglich den inhalt der Listboxen in eine *.mdb einzubinden 2. Die *.mdb wieder in eine .ini auszugebe?? oder anders, volgendes z.b Haupt.ini enthält bestandteie von zwei anderen inidateien
Delphi-Quellcode:
wie kann ich den editor jetzt so erweiter, das ich z.b. einen eintrag aus den anderen .ini aus der Haupt.ini rausfiltern und auflisten lassen kann und in eine .ini schreiben kann aber mit einem
Haupt.ini
[OBJECT] ht=ggh1 tu=fg0 [OBJECT] ht=ggh7 tu=fg2 [OBJECT] ht=ggh7 tu=fg94 [OBJECT] ht=ggh1 tu=fg4 [OBJECT] ht=ggh1 tu=fg1 [OBJECT] ht=ggh tu=fg8 [OBJECT] ht=ggh3 tu=fg4 [OBJECT] ht=ggh tu=fgj
Delphi-Quellcode:
Würde mich über hilfe freuen :-)
[OBJECTS]
total=xyz Mfg Devilone |
Re: ini editor
zu dem mit den 2 inis: man bräuchte zuerstmal die information welche informationen zu welcher ini gehören. dann könntest du diese auslesen und in eine andere ini speichern. ich weiß nicht ob das mit den mdb's möglich ist. ich habs zumindest nicht eingebaut. müsste man noch dazu einbauen.
|
Re: ini editor
hi..
ja,aber wie mache ich das?? habe noch nicht sowiel erfahrung mit Delphi :-( hier mal ein orginaml auszug aus der haupt datei (*.save)
Delphi-Quellcode:
wie kann ich das machen , das wenn ich das zu suchende in ein editfeld eingebe, das die ergebniss in einer extra liste gespeichert werden??.
[OBJECTS]
total=238473647 [OBJECT] GUID=010000 TYPE=3 FLAGS=080000000 ENTRY=1 MODEL=262 LEVEL=255 MAP=1 XYZ=-1585.572876 1166.457031 90.527779 2.175671 MAXHEALTH=9999 SIZE=0.500000 NPCFLAGS=02 FACTION=35 SPAWNTIME=280 350 SPAWNDIST=0.000000 12.000000 SPAWN=4726 1 <---- das würde ich gerne suchen, aber ohne die 1, weil die zahl auch variert,kann auch z.b 67643haben,das ist das makante aus der einen [OBJECT] GUID=010001 TYPE=3 FLAGS=080000000 ENTRY=1 MODEL=262 LEVEL=255 MAP=1 XYZ=-8183.633789 -2735.687500 29.615736 5.030420 MAXHEALTH=9999 SIZE=0.500000 FACTION=35 CTYPE=8 SPAWNTIME=350 420 SPAWNDIST=0.000000 5.000000 SPAWN=5426 1 [OBJECT] GUID=0DD000000DD5041CE TYPE=5 ENTRY=899999 MODEL=4396 MAP=451 XYZ=16330.193359 16265.188477 69.444786 3.992491 SIZE=2.000000 GTYPE=2 GFLAGS=64 ROTATION=0.000000 0.000000 0.910854 -0.412730 ich komme einfach nicht dahinter wie ich das machen soll...:-(( bitte helft mir... |
Re: ini editor
ich kann keine INI-Dateien öffnen, die eine andere Endung als *.ini haben..
Wäre schön wenn man beim hinzufügen neuer Einträge durch Return im Valuelisteditor gleich einen neue Zeile bekommt um noch einen Eintrag zu machn. |
Re: ini editor
@ Florian H
also.. dateien die die inistrucktur haben,aber eine andere ändung in einem fall .save und .scp,ändere ich einfach im obendialog unter eigenschaften / übersetzungsrelevant den Filter von .ini|*.ini auf .scp|*.scp, oder füge die beiden ändungen über einen click auf den filter ... und defeniere die endungen. |
Re: ini editor
Zitat:
Da ist dann schnell mal eine Änderung aus Versehen verworfen oder ungewollt gespeichert. Normalerweise liest niemand den Text, sondern sagt ja, wenner speichern will und nein wenn nicht, und Abbrechen, falls er doch nicht beenden will. also die Frage ungefähr so: Zitat:
|
Re: ini editor
Hallo,
also ich komme mit dem Editor gar nicht klar! Ich bekomme laufend Fehlermeldungen, das Listenindexe überschritten sind und das Speichern von Dateien funktioniert auch nicht. Bitte erstelle doch eine Version, die funktioniert. Fehler können immer auftreten, aber man sollte die eigene Software/ das eigene Programm doch wenigstens mal selbst getestet haben, bevor man es anderen anbietet. MfG freak |
Re: ini editor
als das mit dem speichern funktioniert eigentlich. man gibt einen dateinamen in die eingabezeile ein und dann speichert der editor das. es kann sein das man existierende dateien nicht überschreiben kann. das versuch ich noch zu ändern. das mit dem litenindex hab ich auch grad bemerkt. das passiert bei mir aber nur wenn ich eine neue ini erstelle. das bearbeiten klappt normalerweise. ich kann aber auch versuchen das noch zu ändern. auch die frage mit dem speichern kann ich noch anders formulieren.
@devilone : wenn die datei eine ini struktur hat, dann kannst du den wert einfach auslesen per readinteger o.ä. wenn du nicht weißt wie er heißt kannst du per ValueExists() sehen ob das item überhaupt existiert und dieses dann auslesen. wenn alle sections den gleichen namen haben und du die ganze section in dem der wert steht auslesen willst wird das ganze ein wenig komplizierter. dann kannst du nicht mit inis arbeiten. dann kannst du z.b. suchen in welchem abschnitt (anfangszeile und endzeile) der wert steht. am besten dann alles in eine stringlist laden und dort suchen.(nach oben und unten, und gucken ob das erste zeichen ein [ ist) dann kannst du die zeilen dazwischen dartellen. |
Re: ini editor
Krieg n Fehler wenn ich ne INI-Datei geöffnet habe und dann auf Neu klicke:
Code:
Listenindex überschreitet das Maximum (-1)
------------------------------------------ Ok |
Re: ini editor
ich versuch in den nächsten tagen die fehler zu beheben. der fehler mit dem litenindex kommt durch die komponente valuelisteditor. ich werd wahrscheinlich auf stringgrid umsteigen.
|
Re: ini editor
Zitat:
Und jetzt? |
Re: ini editor
Wird es davon auch eine .Net (ohne VCL) geben?
|
Re: ini editor
wird das Teil eigentlich noch weiterentwickelt?
es gibt momentan drei (!) Ini-Editoren hier im Forum. Und keiner ist so richtig fehlerfrei. Tut Euch doch zusammen und macht aus den drei Editoren einen richtigen. Jeder von Euch hat gute Ansätze, aber irgendwie kommt jeder nicht so richtig weiter... |
Re: ini editor
ini editoren sind in letzter zeit wohl in mode. ich hab in letzter zeit nicht wirklich zeit um daran weiter zu bauen. außerdem krieg ich diesen verdammten listenindexfehler nicht weg. hab mir aber fürs wochenende vorgenommmen weiter zu machen.
|
Re: ini editor
so.ich hab jetzt den fehler behoben. das war eigentlich kein richtiger fehler. wenn man eine neue ini erstellt dann muss man erst eine section erstellen und dann auf die section klicken um diese auch anzuwählen. man kann ja keie idents in die section mit dem itemindex -1 der listbox erstellen.
ich hab es so verändert dass der itemindex jetzt automatisch einen richtigen wert hat. ich hab es getestet und es müsste eigentlich alles funktionieren. neue version im ersten beitrag. |
Re: ini editor
Hi,
im ersten Post steht "Zuletzt bearbeitet von droppi am 13.04.2006, 17:18, insgesamt 2-mal bearbeitet.", also ist da nicht die neuste Version drin. Kommt die noch, oder hast du das Projekt fallen lassen? :) MfG freak |
Re: ini editor
die neue version ist drin. das seh ich schon an den dateinamen. ich habe nicht auf absenden gedrückt, weil man ja die neuen versionen auch hochladen kann ohne den text zu bearbeiten. in letzter zeit hab ich auch keine lust mehr daran weiter zu arbeiten, weil es eigentlich keine fehler mehr gibt und die editor seine funktion erfüllt.
|
Re: ini editor
keine Fehler mehr?
das ist wohl leicht übertrieben... mach mal folgendes: - lade ein ini-file -> es ist keine Sektion markiert -> dann drücke mal den Löschen-Button -> Fehler - dann klickst Du in der Sektion-Liste auf den freien Bereich hinter der letzten Sektion -> Fehler also für keine Fehler, sind das schon ganz schön viele Fehler. |
Re: ini editor
naja. ich hab diesen fehler nicht gefundnen, da ich noch nicht versucht habe eine nicht existierende section zu löschen. aber beide fehler kann man mit einer simplen if abfrage beheben. kann ich ja mal machen.
so. da ich mal kurz aus dem internet gehen musste weil jemand telefonieren wollte hab ich schnell mal diese listenindexfehler behoben. die dürften jetzt quasi nicht mehr kommen. obwohl, wenn man wirklich fehler finden will dan findet man die auch. ich weiß nicht wie weit die anderen mit ihren ini editoren sind also ich sag jetzt einfach mal ich bin fertig. ich hab außerdem keine lust mehr daran weiter zu programmieren, da ich damit gut zurechtkomme. neue version lad ich gleich hoch. |
Re: ini editor
Tut sich an dem Projekt noch was, oder hast Du es tatsächlich eingestellt?
Wir könnten hier in der Firma nämlich einen so richtig guten ini-Editor gebrauchen... |
Re: ini editor
Mhh eigentlich hab ich das Projekt eingestellt...hab auch schon ne Weile nicht mehr in Delphi programmiert, bin zur Zeit eher auf die php Schiene geraten. Ich hatte eigentlich mal vor den Editor (sowie einige andere ältere Projekte) komplett neu aufzulegen, hab das aber irgendwie Zeitlich noch nicht gebacken bekommen^^ Zur Zeit arbeite ich an einem etwas grösseren php Projekt...vielleicht mach ich danach mal wieder was in Delphi...wer weiß ;-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 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 by Thomas Breitkreuz