Realisierbarkeit von .txt basierten Aufgaben

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Artcore
Beiträge: 2
Registriert: Di 11. Feb 2014, 21:34

Realisierbarkeit von .txt basierten Aufgaben

Beitrag von Artcore »

Guten Tag liebe Lazarus Community,
ich bin schon vor einer ganzen Weile auf Lazarus gestoßen und habe damit schon kleinere Spielereien zusammengebastelt.
Nun habe ich jedoch kaum Ahnung von Free Pascal und möchte hier mal fragen ob denn ein paar Sachen so wie gewünscht realisierbar sind.

Es geht darum dass ich in vielen verschiedenen Ordnern, die jedoch alle im selben Pfad liegen, viele verschiedene .txt Dateien habe.
Diesen wurde zwar eine andere Dateiendung verpasst, es waren aber mal .txt Dateien.
Nun möchte ich ein Programm schreiben was all diese Dateien z.B. in einer ListBox schön übersichtlich darstellt, und mir sobald ich den Eintrag einer dieser Dateien anwähle in verschiedenen Editboxen bestimmte Textausschnitte anzeigt.
Diese Textausschnitte liegen immer in bestimmten Zeilenabständen hinter einer bestimmten Zeichenkette, die sich jedoch jedes mal an einer anderen Position befindet.
Dann soll man über die Editboxen diese Ausschnitte ändern und das ganze abspeichern können.

Ist das Ganze grundsätzlich möglich?
Falls ja würde ich euch um ein paar Stichworte bitten nach denen ich dann googlen würde :D

Vielen Dank im Vorraus,
Artcore

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Realisierbarkeit von .txt basierten Aufgaben

Beitrag von m.fuchs »

Artcore hat geschrieben:Ist das Ganze grundsätzlich möglich?
Ja.
Artcore hat geschrieben:Falls ja würde ich euch um ein paar Stichworte bitten nach denen ich dann googlen würde :D
Um die Dateien alle zu finden kannst du FindFirst und FindNext benutzen. Oder (viel einfacher) die TFileListBox (in der Komponentenpaltte unter Misc zu finden).

TStringList ist dein Freund um die Dateien zu laden. Dann kannst du in dem Objekt auf jede Zeile zugreifen und die wiederum in ein Memo kopieren.

Schau mal ob du damit weiterkommst und melde dich dann einfach nochmal mit weiteren Fragen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Realisierbarkeit von .txt basierten Aufgaben

Beitrag von mschnell »

Artcore hat geschrieben:Diesen wurde zwar eine andere Dateiendung verpasst, es waren aber mal .txt Dateien.
Das ".txt" ist nichts weiter als ein Teil des Namens.

Niemand kann wissen, wie eine Datei irgendwann früher einmal geheißen hat.

-Michael

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Realisierbarkeit von .txt basierten Aufgaben

Beitrag von baumina »

Um dann noch die Zeichenkette innerhalb der Stringlist zu finden, kannst du AnsiPos verwenden.
.

Artcore
Beiträge: 2
Registriert: Di 11. Feb 2014, 21:34

Re: Realisierbarkeit von .txt basierten Aufgaben

Beitrag von Artcore »

Vielen Dank für die schnellen und guten Antworten :D
ICh werde in das Alles mal reinschauen, aber mir ist gleich aufgefallen dass die TFileListBox nicht in Unterodnern sondern nur im angegebenen Pfad sucht. Diesen Teil muss ich dann also über FindFirst und FindNext realisieren.

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Realisierbarkeit von .txt basierten Aufgaben

Beitrag von Michl »

Die FileListBox zeigt IMHO immer nur ein Verzeichnis an. Willst Du alle Dateien im Verzeichnis und die Dateien in den Unterverzeichnissen angezeigt bekommen, könntest Du auch einfach eine ListBox (oder Memo oder...) nehmen und selber füllen. Mit der Function FindAllFiles (Unit FileUtil) ist es möglich, sich auch die Dateien aus den Unterverzeichnissen anzeigen zu lassen. z.B:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStringList;
  Pfad: String;
begin
  Pfad := ExtractFilePath(ParamStr(0));
  SL := FindAllFiles(Pfad, '*.*', true);
  ListBox1.Items.Assign(SL);
  SL.Free;
end;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

WeePee
Beiträge: 25
Registriert: So 8. Dez 2013, 13:46

Re: Realisierbarkeit von .txt basierten Aufgaben

Beitrag von WeePee »

Je nach Betriebssystem und zu suchenden Strings musst Du auf die Codierung der Texte achten.

UTF8 vs. Ansi vs. Ascii vs. <was es sonst noch so gibt>

Sieh' mal hier: http://wiki.freepascal.org/LCL_Unicode_Support/de

Antworten