Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Text- Dateien im StringGrid auflisten (https://www.delphipraxis.net/183281-text-dateien-im-stringgrid-auflisten.html)

strom 27. Dez 2014 16:54

Text- Dateien im StringGrid auflisten
 
Hallo,

würde gerne txt Dateien (Ordner) im StringGrid auflisten und bei Bedarf durch einem Doppelklick öffnen.

Wie würde sowas aussehen?

DeddyH 27. Dez 2014 17:24

AW: Text- Dateien im StringGrid auflisten
 
Womit hast Du denn Schwierigkeiten?

strom 27. Dez 2014 18:07

AW: Text- Dateien im StringGrid auflisten
 
Hallo,

zurzeit werden Daten in eine Listbox aufgelistet!

Delphi-Quellcode:
procedure TForm1.BitBtn4Click(Sender: TObject);
var
  SearchRec: TSearchRec;
begin
  FindFirst(ExtractFilePath('\\192.168.0.62\d$\Office\Testdaten\') + '*.asc', faAnyFile, SearchRec);
  BitBtn2.Enabled:= true;
  repeat
    ListBox1.items.add(searchrec.Name);
  until FindNext(searchrec) <> 0;
  findclose(searchrec);
end;
Möchte aber lieber ein StringGrid einsetzten, weiß aber noch nicht wie.:shock:

Perlsau 27. Dez 2014 18:33

AW: Text- Dateien im StringGrid auflisten
 
Wie man ein StringGrid verwendet, steht doch in der Online-Hilfe.

strom 27. Dez 2014 19:29

AW: Text- Dateien im StringGrid auflisten
 
Hallo, habe hier vielleicht was für mich gefunden!
Was ist mit : "// Falls es sich um ein Verzeichnis handelt, rek. aufrufen" gemeint?


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 var srResult: TSearchRec;
begin
  application.ProcessMessages;
  If Stop then exit;
  if FindFirst(start+'*.*',faAnyFile,srResult)=0 Then
    begin
      while (FindNext(srResult)=0) Do
        begin
          Application.processMessages;
          if (srResult.Attr=faDirectory)
            and (srResult.name<>'.')
            and (srResult.name<>'..') Then
            begin
              // Falls es sich um ein Verzeichnis handelt, rek. aufrufen
              searchFiles(start+srResult.name+'\');
            end
          else
            begin
              // hier kannst Du dann die Dateien auslesen ...
            if (srResult.name<>'.')and (srResult.name<>'..') Then
            begin
              with StringGrid1 do // statt dem Stringgrid halt ne Stringlist oder so verwenden
                begin
                  cells[0,counter]:=srResult.name; // dateiname
                  cells[1,counter]:=inttostr(srResult.Size); // dateigröße
                  cells[2,counter]:=copy(start,length(edit1.Text)+1,100);
                  // Pfad (relativ zum Suchverzeichnis)
                  rowcount:=rowcount+1;
                end;
              inc(counter);
            end;
            end;
        end;
      FindClose(srResult);
    end
  else
    begin
      ShowMessage('Keine Dateien vorhanden');
    end;
end;
end;

p80286 27. Dez 2014 19:35

AW: Text- Dateien im StringGrid auflisten
 
Ich hab die Syntax nicht mehr ganz im Kopf aber wenn Du
Delphi-Quellcode:
Listbox.Items.Add
durch
Delphi-Quellcode:
Stringgrid.Cells[1,i]:=Searchrecord.Name
ersetzt, sollte es funktionieren.
Du mußt dann noch colcount und rowcount setzen und ggf. i und 1 (oder 0) vertauschen, dann bist Du auf dem Weg.
Und ein Blick in OH hilft natürlich immer weiter.

Gruß
K-H

P.S.
Zitat:

Was ist mit : "// Falls es sich um ein Verzeichnis handelt, rek. aufrufen" gemeint?
Ist nicht Dein Ernst?
Ich vermute stark, daß die ursprüngliche Prozedur SearchFiles hieß, und die wird für Verzeichnisse rekursiv aufgerufen.

strom 27. Dez 2014 20:05

AW: Text- Dateien im StringGrid auflisten
 
Danke :) es geht!

Delphi-Quellcode:
procedure TForm1.Beenden1Click(Sender: TObject);
var
  SearchRec: TSearchRec;
  i:integer;
begin
  FindFirst(ExtractFilePath('\\192.168.0.62\d$\Office\Testdaten\Test\') + '*.asc', faAnyFile, SearchRec);
  repeat
   StringGrid1.RowCount := StringGrid1.RowCount + 1;
    for i := StringGrid1.RowCount - 1 downto StringGrid1.FixedRows + 1 do
    StringGrid1.Rows [i].Assign (StringGrid1.Rows [i - 1]);
    Stringgrid1.Cells[1,1]:=(searchrec.Name);
  until FindNext(searchrec) <> 0;
  findclose(searchrec);
end;

strom 27. Dez 2014 21:19

AW: Text- Dateien im StringGrid auflisten
 
Habe jetzt noch ein anderes Problem! :(

Delphi-Quellcode:
procedure TForm1.asciiDateilesen1Click(Sender: TObject);
var
 sl: TStringList;
 zeilennr: integer;
 s:String;
begin
  sl:=TStringList.Create; //Objekt erzeugen

  try
     s := StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row];
     if Length(s) > 1 then begin //Länge des Text übeprüfen
    sl.LoadFromFile('\\192.168.0.62\d$\Office\Alice Testdaten FuRW\Test\')+ (s); //Datei in Stringliste laden // Diese Zeile ist rot! Was ist hier falsch?????
    for zeilennr:=0 to sl.Count-1 do begin //Schleife über alle Zeilen, Zählung
                                            //beginnt mit 0, die Eigenschaft Count
                                            //enthält die Gesamtzahl der Zeilen

      if sl[zeilennr]='Zweite Zeile' then //wenn der Text "Zweite Zeile" gefunden wurde,
        ShowMessage('Text gefunden in Zeile '+IntToStr(zeilennr+1)); //Meldung ausgeben
    end;
    end;
  finally
    sl.free; //Objekt wieder freigeben
  end;
end;

sx2008 27. Dez 2014 21:34

AW: Text- Dateien im StringGrid auflisten
 
falsche Klammersetzung
Delphi-Quellcode:
sl.LoadFromFile('\\192.168.0.62\d$\Office\Alice Testdaten FuRW\Test\')+ (s); //Datei in Stringliste laden // Diese Zeile ist rot! Was ist hier falsch?????

sl.LoadFromFile('\\192.168.0.62\d$\Office\Alice Testdaten FuRW\Test\'+s); //Datei in Stringliste laden // so ist's besser


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