Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   ini editor (https://www.delphipraxis.net/67285-ini-editor.html)

droppi 12. Apr 2006 13:41


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

kingflo 12. Apr 2006 14:43

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

freak4fun 12. Apr 2006 14:58

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

kingflo 12. Apr 2006 15:00

Re: ini editor
 
Hatte meinen Anhang schon wieder rausgenommen, war ein versehen, da ich beim Anhängen den Tab in Firefox verwechselt habe sorry

dfried 12. Apr 2006 15:18

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.

kingflo 12. Apr 2006 15:21

Re: ini editor
 
Zitat:

Zitat von dfried

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.

War nur ein Spontaner Grober gedankte, an TMemIniFile hatte ich gar nicht gedacht. Stimmt aber mit TMemIniFile hätte man definitiv weniger aufwand.

HuxXx 12. Apr 2006 16:00

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:

RavenIV 12. Apr 2006 16:16

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.

droppi 12. Apr 2006 16:31

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 ).

Sidorion 12. Apr 2006 16:52

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

SubData 12. Apr 2006 17:35

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...

ichbins 12. Apr 2006 18:08

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.

Sidorion 13. Apr 2006 10:41

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)

droppi 13. Apr 2006 13:20

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.

SubData 13. Apr 2006 13:25

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.

droppi 13. Apr 2006 16:57

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

RavenIV 13. Apr 2006 17:06

Re: ini editor
 
einige meiner gemeldeten Fehler sind immernoch drin.
kannst Du das bitte prüfen?

ansonsten: gut gemacht.

gruessle

droppi 13. Apr 2006 17:10

Re: ini editor
 
stimmt. das mit dem neu öffnen hatte ich vergessen. werd ich korrigieren.

devilone 18. Apr 2006 22:49

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:
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
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
Delphi-Quellcode:
[OBJECTS]
total=xyz
Würde mich über hilfe freuen :-)

Mfg Devilone

droppi 19. Apr 2006 14:44

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.

devilone 20. Apr 2006 10:49

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:
[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
wie kann ich das machen , das wenn ich das zu suchende in ein editfeld eingebe, das die ergebniss in einer extra liste gespeichert werden??.

ich komme einfach nicht dahinter wie ich das machen soll...:-((

bitte helft mir...

Florian H 20. Apr 2006 11:26

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.

devilone 20. Apr 2006 11:58

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.

Sidorion 20. Apr 2006 12:22

Re: ini editor
 
Zitat:

Ohne speichern beenden?
ist immer ganz blöd ... :freak:
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:

Möchten Sie die Änderungen in [Dateiname] spiechern?

freak4fun 20. Apr 2006 13:03

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

droppi 20. Apr 2006 16:10

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.

inherited 20. Apr 2006 17:47

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

droppi 21. Apr 2006 14:43

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.

Florian H 23. Apr 2006 19:17

Re: ini editor
 
Zitat:

Zitat von devilone
@ 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.

Aha.
Und jetzt?

Heffalump 23. Apr 2006 19:49

Re: ini editor
 
Wird es davon auch eine .Net (ohne VCL) geben?

RavenIV 28. Apr 2006 16:38

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...

droppi 28. Apr 2006 18:17

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.

droppi 29. Apr 2006 12:16

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.

freak4fun 4. Mai 2006 09:56

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

droppi 4. Mai 2006 21:05

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.

RavenIV 5. Mai 2006 08:10

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.

droppi 5. Mai 2006 16:05

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.

RavenIV 27. Nov 2007 14:40

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...

droppi 27. Nov 2007 18:51

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