AGB  ·  Datenschutz  ·  Impressum  







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

Datentyp

Ein Thema von storm1988 · begonnen am 17. Aug 2005 · letzter Beitrag vom 18. Aug 2005
Antwort Antwort
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#1

Datentyp

  Alt 17. Aug 2005, 21:55
Hallo alle miteinander!
Ich möchte gern mit einem Programm einen bestimmten Ordner und deren Unterorder nach Dateien durchsuchen und diese Anschließend in einen Datentypen Speichern. Diesen möchte ich dann per IdTCPClient an den Server schicken.

Meine Frage ist jetzt mit welchen Datentypen ich das am besten realisiere, ohne das ich irgendwas auf die Festplatte speichern muss??

MFG
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Datentyp

  Alt 17. Aug 2005, 22:43
du könntest die dateien in einen memorystream packen und dann diesen stream verschicken. Was mir auch nicht ganz klar ist - willst du die ordnerstruktor verschicken oder den inhalt der dateien?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#3

Re: Datentyp

  Alt 18. Aug 2005, 10:33
Ich würde gern die Ordnerstruktur auslesen lassen und diese dann übertragen.
Wie mache ich das am besten, wenn ich die Daten in einen memorystream packe??

Hier ist mal mein Source Code, wo ich jedoch noch die Daten auf die Fesplatte gespeichert hab:


Delphi-Quellcode:
procedure FindFilesTree (aPath: String);
Var
  SearchRec: tSearchRec;
    Datei: TextFile;
    awithFiles :Boolean;
Begin

   if FileExists('C:\test.txt') = False then
   begin
        Rewrite(Datei,'C:\test.txt');
        CloseFile(Datei);
   end;

   aWithFiles := True;

  If aPath [Length (aPath)] <> '\Then
    aPath := aPath + '\';

  If FindFirst (aPath + '*.*', faDirectory, SearchRec) = 0 Then
    Begin
      Repeat

        If (SearchRec.Attr and faDirectory = faDirectory)
          and (SearchRec.Name[1] <> '.')
        Then
          Begin
            If (SearchRec.Attr and faDirectory > 0) then
              Begin

                        Anzahl_Ordner := Anzahl_Ordner + 1;

                        AssignFile(Datei,'C:\test.txt');
                        if IOResult = 0 then
                        Append(Datei);
                        begin
                        writeln(Datei,aPath + SearchRec.Name);
                        CloseFile(Datei);
                        end;
                        Form1.Edit2.Text := aPath + SearchRec.Name;

                        FindFilesTree(aPath + SearchRec.Name);

              End;

          End
        Else

          If aWithFiles
            and (SearchRec.Name <> '.') and (SearchRec.Name <> '..')
          Then
            Begin
                        Anzahl_Datein := Anzahl_Datein + 1;

                        Groesse_insgesamt := Groesse_insgesamt + GetFileSizeEx(apath + SearchRec.Name);

                        AssignFile(Datei,'C:\test.txt');
                        if IOResult = 0 then
                        Append(Datei);
                        begin
                        writeln(Datei,aPath + SearchRec.Name);
                        CloseFile(Datei);
                        end;
                        Form1.Edit2.Text := aPath + SearchRec.Name;

            End;

      Until FindNext (searchRec) <> 0;

      FindClose (SearchRec);
    End;
End;
MFG
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: Datentyp

  Alt 18. Aug 2005, 10:46
Zitat von storm1988:
Ich würde gern die Ordnerstruktur auslesen lassen und diese dann übertragen.
Wie mache ich das am besten, wenn ich die Daten in einen memorystream packe??
Hänge die Dateinamen alle nacheinander in eine TStringlist ein und speichere diese Infos mittels TStringlist.SaveToStream in einen MemoryStream, wobei Du bei größeren Daten immer einen TFileStream nehmen solltest.

---
Holger
Dr. Holger Flick
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#5

Re: Datentyp

  Alt 18. Aug 2005, 11:38
Guad jetzt hab ich die Strings über die Add Funkion im Tfilestring gespeicher, doch wie kann ich sie jetzt am besten mithilfe des TCP an den Server schicken???

Mfg
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Datentyp

  Alt 18. Aug 2005, 11:56
Zitat von storm1988:
Guad jetzt hab ich die Strings über die Add Funkion im Tfilestring gespeicher, doch wie kann ich sie jetzt am besten mithilfe des TCP an den Server schicken???

Mfg
Wenn ich mich nicht ganz grauselig irre, hat der IOHandler eine Methode Write, die einen Stream unterstützt. Es gibt aber auch nen Demo zu TCP auf der Indy-Seite.

Also z.B. (direkt getippt...)

myTCP.IOHandler.Write( myStream );

--
Holger
Dr. Holger Flick
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#7

Re: Datentyp

  Alt 18. Aug 2005, 13:04
Mhh irgend wie gibts bei mir den Befehl net

I was zwar net ob ich irgedwas falsch verstanden hab, aber eigentlich will ich ja an Tfilestring senden und kan stream???

Mfg
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

Re: Datentyp

  Alt 18. Aug 2005, 13:40
Zitat von storm1988:
Mhh irgend wie gibts bei mir den Befehl net
I was zwar net ob ich irgedwas falsch verstanden hab, aber eigentlich will ich ja an Tfilestring senden und kan stream???
Mfg
Moment. Du hast die Liste aller Dateinamen als TStringlist. Die speicherst Du in einen TFileStream. Den TFileStream schreibst Du. Fertig.

Dr. Holger Flick
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#9

Re: Datentyp

  Alt 18. Aug 2005, 13:53
So alles schön und gut, aber wie schaff ich des jetzt, dass ich TStringlist in TfileStream speicher (Bitte Beispiel).

Mfg
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

Re: Datentyp

  Alt 18. Aug 2005, 14:20
Zitat von storm1988:
So alles schön und gut, aber wie schaff ich des jetzt, dass ich TStringlist in TfileStream speicher (Bitte Beispiel).

Mfg
Delphi-Quellcode:
var
  fs : TFileStream;

...

  fs := TFileStream.Create( 'whatyoucallit.tmp', fmCreate );
  myStringlist.SaveToStream( fs );
  fs.Position := 0;
  
  myTCPComponent.IOHandler.Write( fs );

...
Dr. Holger Flick
  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 20:04 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