Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textdatei Wirrwarr (Lebenswerk) (https://www.delphipraxis.net/34863-textdatei-wirrwarr-lebenswerk.html)

Ajintaro 29. Nov 2004 14:14


Textdatei Wirrwarr (Lebenswerk)
 
Hallo liebe Delphi Praxis Member,

ich verknote gerade meine Synapsen um folgendes Problem zu lösen:

Ich möchte innerhalb einer Textdatei Zeilenweise informationen auslesen und Zeilen auch ändern und speichern können. Die Datei ist vom Gerüst immer gleich aufgebaut:

;|-------------------+--------------------+
;| | |
;| Staffel | ADRESSE |
;| | |
;+-------------------+--------------------+
|10 - MODEM |-@modem.423423.xx.de|
;|10 - LAN |-@lan.123.999.99.232|
|10 - VHF1 |-@wfwefwefwe |
;|10 - VHF2 |-@asc4r23 |
;|10 - TETRAPOL |-@awgwe |
|10 - SATKOM |-@wefw32q3 awefqwf |
|10 - MINIM |-@wgerghr |
;+-------------------+--------------------+
;|11 - MODEM |-@wewewe.de |
|11 - LAN |-@gwergerger |
;|11 - VHF1 |-@gergergr |
;|11 - VHF2 |-@wefwefwe.wef... |
|11 - TETRAPOL |-@efefe |
|11 - SATKOM |-@efwefgwefwefwefwef|
;|11 - MINIM |-@efwfwefwefwefwefe |
;+----------------------------------------+

Ihr seht hier 2 Blöcke: Staffel 10 und Staffel 11
Beide Staffeln haben die selbe Anzahl an Kommunikationsmittel
Zeilen mit einem Semikolon werden vom System ignoriert.
Das heisst bei Staffel 10 sind LAN, VHF2 und TETRAPOL deaktiviert, dahinter die techn. Adresse.
Bei Staffel dementsprechend MODEM, VHF1, VHF2 und MINIM deaktiviert mit techn. Adresse.

Das Problem:
Das Delphi Tool soll diese Textdatei untersuchen und die Ergebnisse auf der Form anzeigen. Sprich in einem Edit Feld gebe ich die Staffelnummer ein die ich mir anzeigen lassen will und drücke einen Button. Dieser soll 7 Checkboxen automatisch die aktivierten Komm-Mittel anzeigen lassen. *phew*
Naja dann will ich halt per checkbox OnChange die Komm-Mittel aktivieren oder deaktivieren - sprich ein Semikolon an der entsprechenden Zeile setzen.

Was ich mir da überlegt hab ist eine Stringlist zu erstellen die den originalen Dateiinhalt enthält. Dann folgt der Schritt den ich nicht realisieren kann: Zeilenweise lesen um nur die Infos der ausgewählten Staffel aum Screen zu haben. D.h ich muss in der Stringliste nach Zeichen suchen/ersetzen usw...

Wenn der Benutzer dann z.B. LAN aktiviert und SATKOM deaktiviert muss irgendwie das Semikolon an die richtige Stelle.

Ist sowas überhaupt realisierbar? Hab mal im Inet geforstet aber nicht ansatzweise etwas gefunden das helfen könnte.

Ist das wirklich so heftig schwer wie ich mir das vorstelle?

Grüsse aus NRW

fkerber 29. Nov 2004 14:16

Re: Textdatei Wirrwarr (Lebenswerk)
 
Hi!

Naja Stringlist ist doch schonmal ein guter Ansatz.
Was ging da nicht?
Mit Stringlist[i] kannst du auch auf eine Zeile zugreifen.


Ciao Frederic

Jasocul 29. Nov 2004 14:22

Re: Textdatei Wirrwarr (Lebenswerk)
 
Du sagst es ja selbst: Du nimmst eine Stringlist!
Wenn du jetzt noch die Funktionen Pos, Copy, Delete und Insert benutzt, solltest du jeden String in der Stringliste vernünftig verwalten können.

Luckie 29. Nov 2004 15:03

Re: Textdatei Wirrwarr (Lebenswerk)
 
Ich würde die Textdatei parsen und un einem Record-Array ablegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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