Problem mit CheckListBox1.GetSelectedText

Rund um die LCL und andere Komponenten
Antworten
ToniCE
Beiträge: 12
Registriert: Mo 31. Dez 2007, 11:13
OS, Lazarus, FPC: Slackware Linux | Windows XP 32bit (beide Laz 0.9.26 FPC 2.2.2)
CPU-Target: 32Bit
Wohnort: NRW
Kontaktdaten:

Problem mit CheckListBox1.GetSelectedText

Beitrag von ToniCE »

Hallo!

Ich habe ein (hoffentlich) kleines Problem woran ich mir schon seit Stunden die Zähne ausbeisse. :(

Erstmal mein Quelltext:

Code: Alles auswählen

procedure TForm1.CheckListBox1Click(Sender: TObject);
 
var
  myFile : TextFile;
  zeile, datei : String;
 
begin
  datei := '/var/log/packages/' + CheckListBox1.GetSelectedText;
  AssignFile(myFile, datei);
  Memo1.Clear;
  Memo1.Append(datei);
  if FileExists(datei) then
  begin
    FileMode := fmOpenRead;
    Reset(myFile);
    Memo1.Append('SlackDesc:');
    while not Eof(myFile) do
      begin
        Readln(myFile, zeile);
        Memo1.Append(zeile);
      end;
    CloseFile(myFile);
  end;
end;
CheckListBox1 wird vorher einwandfrei mit einer Dateiliste gefüllt.
Danach will ich den Inhalt einer Textdatei in ein Memo ausgeben.
Nur wird die Datei nicht gefunden...

Wenn ich in AssignFile(myFile, datei) datei mit dem string /var/log/packages/IrgendeineDateiDieEsGibt füttere geht es. Also macht das CheckListBox1.GetSelectedText noch irgendwas im String dazu.
Gibt es alternativen den markierten Punkt in einer Checklistbox zu übergeben? (ich will hier nocht nicht nach haken prüfen!) Oder wie bekomme ich meinen passenden String?

Btw. über den schlechten Stil bin ich mir im Klaren. Nur will ich das in dem Codeschnippsel erst ändern, wenn's auch läuft. :)

Bin über jede Hilfe dankbar!

Grüße

Toni

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Problem mit CheckListBox1.GetSelectedText

Beitrag von creed steiger »

Setz halt ein showmessage (datei)
vor das assignfile dann siehst du vielleicht mehr.

ToniCE
Beiträge: 12
Registriert: Mo 31. Dez 2007, 11:13
OS, Lazarus, FPC: Slackware Linux | Windows XP 32bit (beide Laz 0.9.26 FPC 2.2.2)
CPU-Target: 32Bit
Wohnort: NRW
Kontaktdaten:

Re: Problem mit CheckListBox1.GetSelectedText

Beitrag von ToniCE »

ShowMessage(datei); zeigt mir den Pfad/Dateinamen genau so an, wie ich ihn haben möchte...

Weitere ideen?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Problem mit CheckListBox1.GetSelectedText

Beitrag von monta »

Vielleicht nen Trim() drum rum, falls sich Leerzeichen eingeschoben hat.

Oder vielleicht auch interessant: Filenamen auf Systemkodierung drehen:
http://wiki.lazarus.freepascal.org/LCL_ ... _filenames" onclick="window.open(this.href);return false;
Johannes

ToniCE
Beiträge: 12
Registriert: Mo 31. Dez 2007, 11:13
OS, Lazarus, FPC: Slackware Linux | Windows XP 32bit (beide Laz 0.9.26 FPC 2.2.2)
CPU-Target: 32Bit
Wohnort: NRW
Kontaktdaten:

Re: Problem mit CheckListBox1.GetSelectedText

Beitrag von ToniCE »

Danke monta, das waren die Lösungen. :)

Allerdings nicht getrennt sondern nur in Kombination komme ich zum gewünschten Ergebnis.

Das ganze sieht jetzt so aus:

---schnipp---
begin
datei := '/var/log/packages/' + CheckListBox1.GetSelectedText;
datei := Trim(SysToUTF8(datei));
AssignFile(myFile, datei);
---schnipp---

Bis zum nächsten Problem dann. ;)

Grüße

Toni

Antworten