Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Übergabe von Werten aus MemoBox, ListBox etc. (https://www.delphipraxis.net/8338-uebergabe-von-werten-aus-memobox-listbox-etc.html)

Tyler 2. Sep 2003 18:54


Übergabe von Werten aus MemoBox, ListBox etc.
 
Hallo z'samm!

Hab hier gerade folgendes "seltsames" Problem:

Hab aus ner CodeLibrary (von hier oder ausm swissdelphicenter, weiß nich mehr genau) ne CodeSchnipsel um sämtliche Dateien mit einer Dateiendung eines Verzeichnisses in eine Memobox zu übernehmen.

Nun will ich den ersten Wert aus dieser MemoBox an ein Label übergeben, funktinioniert, bis auf: Das erste Zeichen wurde verschluckt.

Dacht ich mir, nix für ungut, probier ich das mit ner ListBox. Doch auch wenn ich die Datein erst in der ListBox aufliste und dann von dort einen Wert an ein Label weitergebe, wird der erste Buchstabe verschluckt!

Kann mir einer weiterhelfen und sagen was ich falsch mache?

mfG

nailor 2. Sep 2003 18:59

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
Was (am besten Code posten) verstehst du unter "kopieren"?

Alexander 2. Sep 2003 19:02

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
Ähm woher sollen wir wissen, was du falsch machst, wenn du uns nicht verräts wie du das genau machst?
Wäre also von Vorteil wenn du diese Stelle hiermal einfügst...

Tyler 2. Sep 2003 19:04

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
naja, ich geh davon aus das der Code stimmt, weil´s ja eigentlich keine Fehlermeldung gibt, und man dabei nich so viel falsch machen kann, denk ich...

... ok, ich weiß, nicht denken, nachdenken! :)

Also, 1. die Procedure um den Verzeichnis-Inhalt auszulesen:

Delphi-Quellcode:
procedure TForm1.FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);

var
  SR: TSearchRec;
begin
  if AnsiLastChar(RootFolder)^ <> '\' then
    RootFolder := RootFolder + '\';

  // * * * * * 
  // nur bis einschließlich Delphi 4 benötigt
  if Mask = '' then
    Mask := '*.*';
  // * * * * * 

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
      try
        repeat
          if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            //   der Verzeichnisname steht in SR.Name
            //   der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            //       RootFolder + SR.Name
            if (SR.Name <> '.') and (SR.Name <> '..') then
              FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory <> faDirectory then
        begin
          // --> eine Datei wurde gefunden
          //   der Dateiname steht in SR.Name
          //   der vollständige Dateiname (inkl. Pfadangabe) ist
          //       RootFolder + SR.Name

          // folgende Zeile schreibt den vollständigen Namen in eine Memo Feld des
          // Formulars Form1
          Form1.ListBox1.Items.Add(SR.Name);
        end;
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
end;
Das führt die Prozedure aus (auf ButtonClick):

Delphi-Quellcode:
FindAllFiles('C:\test\','*.txt',false);
Und hiermit übergebe ich auf ButtonClick den ersten (respektive beliebigen) Wert:

Delphi-Quellcode:
Label1.Caption := ListBox1.Items.ValueFromIndex[0];
mfG

Christian Seehase 2. Sep 2003 19:10

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
Moin Tyler,

kannst Du mir mal verraten, was ValueOfIndex ist? Mein D5 kennt das nicht.
Ansonsten funktioniert bei mir alles wie es soll.

Alexander 2. Sep 2003 19:10

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
Probier mal
Delphi-Quellcode:
Label1.Caption := ListBox1.Items[0];
Welche Delphi-VErsion hast du denn?
ValueFromIndex kenn ich gar nicht, die Delphi Hilfe auch nciht ;-)

Tyler 2. Sep 2003 19:23

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
hab die 7´er, aber nun gut, daran wirds nicht liegen, oder?
Der Code ist ja auch ast-rein, oder hättet ihr ne Alternative am Start bzw. wie würdet ihr den ersten Wert der ListBox auslesen?

An der ListBox kann es ja nich liegen, denn bei einem MemoFeld passiert ja das gleiche!

mfG und danke für die schnellen Antworten :)

Alexander 2. Sep 2003 19:26

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
mhm ok, dann probier mal wie gesagt das hier:
Delphi-Quellcode:
Label1.Caption := ListBox1.Items[0];

Tyler 2. Sep 2003 19:32

Re: Übergabe von Werten aus MemoBox, ListBox etc.
 
Zitat:

Zitat von alexander
mhm ok, dann probier mal wie gesagt das hier:
Delphi-Quellcode:
Label1.Caption := ListBox1.Items[0];

funktioniert einwandfrei, aber ich frag mich doch ernsthaft, was an meiner methode so falsch ist! :/

mfG & Danke :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz