AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probs mit TString und Treeview

Ein Thema von Dödel · begonnen am 6. Jul 2003 · letzter Beitrag vom 8. Jul 2003
Antwort Antwort
Dödel

Registriert seit: 30. Mai 2003
16 Beiträge
 
#1

Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:06
Kann jemand mal auf die Seite http://www.tipps.delphi-source.de/da...001005-1.shtml gucken, und mir helfen. Ich will in einen ButtonClick die GetFiles Procedure einbinden, doch irgendwie wills einfach net funzen.
Ich hab jetzt
GetFiles('C:\',treeview2,'.jpg',True);
geschrieben, doch...nix passiert. Es taucht nur ne Fehlermeldung auf. *heul*


>>Würd mich freuen, wenn ihr mir helfen könntet<<

Dödel


PS: Bin noch net sehr lange im Metier Delphi zu Hause.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:13
Hallo,

Delphi-Source.de hat ein angeschlossenes Forum.

Wenn Du auf einer Website ein Tutorial findst und diese Webseite dann auch noch gleich ein Forum bietet, solltest Du grundsätzlich immer dort zuerst nachfragen.


P.S.: Und grundsätzlich solltest Du die Fehlermeldung selber gleich mit angeben. Sonst ist es fast unmöglich, Dir zu helfen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Dödel

Registriert seit: 30. Mai 2003
16 Beiträge
 
#3

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:22
Zitat:
Delphi-Source.de hat ein angeschlossenes Forum.

Wenn Du auf einer Website ein Tutorial findst und diese Webseite dann auch noch gleich ein Forum bietet, solltest Du grundsätzlich immer dort zuerst nachfragen
Hab ich. Doch hat mir auch net viel geholfen.

Die Fehlermeldung sagt nix aus, da ich (wenn möglich) nur eine kurze Erklärung brauch, wie ich die Procedure einbinden kann.

Oder ein anderes Tutorial, wo ich eine Funktion zum Erstellen einer Liste mit allen Dateien auf einer Festplatte/Partition.

Dödel
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:27
Hallo,

also - die Prozedur ist wie folgt deklariert:
Delphi-Quellcode:
procedure GetFiles(const Directory: string; var Files: TStrings;
  const FileMask: string = '*.*'; const SubFolders: Boolean = False);
Du übergibst also erst das Startverzeichnis als String (z.B. 'C:\'), dann ein Objekt, welches von TStrings abgeleitet ist (z.B. TStringList), dann optional die Dateimaske (z.B. '*.jpg') und zu guter Letzt noch ein Flag, ob Unterverzeichnisse berücksichtigt werden sollen oder nicht (z.B. TRUE).

Angenommen, Du hast ein Memo-Feld auf Deinem Formular und dieses trägt den Namen 'Memo1'. Dann könntest Du in der onClick-Prozedur Deines Buttons etwa folgendes schreiben:
GetFiles('C:\', Memo1.Lines, '*.jpg', TRUE); Dann würde das Ergebnis dieser Suche in das MemoFeld eingetragen werden.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#5

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:29
Hallo,
Zitat von Dödel:
Hab ich. Doch hat mir auch net viel geholfen.
Naja, auch der Autor ist bekannt und den kann man natürlich per Mail ansprechen.

Zitat:
Die Fehlermeldung sagt nix aus, da ich (wenn möglich) nur eine kurze Erklärung brauch, wie ich die Procedure einbinden kann.
Eine Fehlermeldung die nichts aussagt? Lieber Gott, hoffentlich bekomme ich nie sowas...
Also, wo und wann tritt der FEhler auf? Kannst Du Dein Projekt kompilieren? Oder startest Du die Exe und beim benutzen tritt dann der Fehler auf?

Wenn es sich nicht kompilieren lässt, dann steht doch unten die Meldung, diese anklicken, dann Strg+c, dann hier schreiben mit Strg+v.
Wenn es eine normale Meldung ist, also mit einer MessageBox, dann mach ein Bild davon oder Tippe den Text ab.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Dödel

Registriert seit: 30. Mai 2003
16 Beiträge
 
#6

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:32
Jetzt kommt bei mir wieder eine neue Fehlermeldung:

Zitat:
Constant Object cannot be passed as var parmeter
Ich bin am verzweifeln.

danke Daniel, dass du mir bisher schon recht viel geholfen hast!!!!

Dödel
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:44
mach in der deklaration mal das "VAR" vor Files weg und versuchs so!
David F.
  Mit Zitat antworten Zitat
Dödel

Registriert seit: 30. Mai 2003
16 Beiträge
 
#8

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 19:51
AAAAHHHHHH.
*fluch*

Tschuldigung, aber ich bin so verdammt blöd.
Ein dummes var lässt mich den ganzen Sonntag grübeln

Danke @ all

Dödel
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#9

Re: Probs mit TString und Treeview

  Alt 6. Jul 2003, 20:02
Hallo,

oder mit leicht verkürztem Kopf und Pfad und Dateiendung werden hintereinader eingegeben, also von der Reihenfolge der Parameter her. Was evtl. etwas "schöner" ist.
Delphi-Quellcode:
procedure GetFiles(const Directory, FileMask: String; Files: TStrings; SubFolders: Boolean);
  //Hilfsfunktion, um Schrägstriche hinzuzfügen, wenn nötig
  function SlashSep(const Path, S: string): string;
  begin
    if AnsiLastChar(Path)^ <> '\then Result := Path + '\' + S
    else Result := Path + S;
  end;

var SearchRec: TSearchRec;
    nStatus: Integer;
begin
  //Zuerst alle Dateien im aktuelle Verzeichnis finden

  if FindFirst(SlashSep(Directory, FileMask), faAnyFile-faDirectory-faVolumeID,
  SearchRec) = 0 then
  begin
    try
      repeat
        Files.Add(SlashSep(Directory, SearchRec.Name));
      until FindNext(SearchRec) <> 0;
    finally
      SysUtils.FindClose(SearchRec);
    end;
  end;

  //Als nächstes nach Unterverzeichnissen suchen und, wenn benötigt, durchsuchen
  if SubFolders then
  begin
    if FindFirst(SlashSep(Directory,'*.*'), faAnyFile, SearchRec) = 0 then
    begin
      try
        repeat
          //Wenn es ein Verzeichnis ist, Rekursion verwenden
          if (SearchRec.Attr and faDirectory) <> 0 then
          begin
            if ((SearchRec.Name <> '.') and (SearchRec.Name <> '..')) then
              GetFiles(SlashSep(Directory, SearchRec.Name), FileMask, Files, SubFolders);
          end;
        until FindNext(SearchRec) <> 0;
      finally
        SysUtils.FindClose(SearchRec);
      end;
    end;
  end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  GetFiles('C:\', '*.jpg*', Memo1.Lines, False);
end;
Grüsse, Daniel
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#10

Re: Probs mit TString und Treeview

  Alt 8. Jul 2003, 00:22
Zitat von Daniel B:
oder mit leicht verkürztem Kopf und Pfad und Dateiendung werden hintereinader eingegeben, also von der Reihenfolge der Parameter her. Was evtl. etwas "schöner" ist.
procedure GetFiles(const Directory, FileMask: String; Files: TStrings; SubFolders: Boolean);
Nun ja, im Gegensatz zum Original muss Du beim Aufruf immer vier Parameter angeben. Das Original kommt im Standardaufruf (Maske = *.*, Keine Unterordner) mit zwei Parameter aus.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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