AGB  ·  Datenschutz  ·  Impressum  







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

Dateien austauschen

Ein Thema von Moonlight · begonnen am 6. Sep 2004 · letzter Beitrag vom 7. Sep 2004
Antwort Antwort
Moonlight

Registriert seit: 16. Aug 2004
11 Beiträge
 
#1

Dateien austauschen

  Alt 6. Sep 2004, 14:15
Hallo zusammen,
ich habe ein Problem. Und zwar möchte ich verschiedene Dateien anhand einer Md5Checksumme vergleichen. Wenn die Summen nicht übereinstimmen, sollen die Dateien ausgetauscht werden.
Diese Dateien werden vom Server über eine Get-Methode der Indy-Komponenten runtergeladen. So liegt meine neue Datei erstmal als string in meinem Programm vor.
Ich hatte mir überlegt diesen string in eine Stringlist zu konvertieren und diese dann mit selben Namen der vorherigen Datei zu speichern.
Das klappt auch soweit, das Problem an der ganzen Sache ist, dass die Stringlist mir am Ende der Datei noch eine zusätzliche leer-Zeile speichert. Daher ist die Checksumme der neuen Datei immer noch anders als die Originaldatei und das soll natürlich nicht sein.
Deshalb hab ich mir überlegt die Funktion FileCreate und FileWrite zu benutzten. Aber das klappt auch nicht, weil die Funktionen in die Datei irgendwelche komischen Zeilen speichert, nur nicht den richtigen Inhalt. Aber vielleicht mache ich ja auch was falsch, also hier mal der Code:
Delphi-Quellcode:
var
  handle: Integer;
begin
  handle := FileCreate('IrgendeineDatei.txt');
  FileWrite(handle, dateiInhalt, Length(dateiInhalt));
end;
'dateiInhalt' ist mein string, den ich per Get vom Server geholt habe und an diese Funktion übergebe.
Ich hoffe Ihr habt ein paar Tips für mich
Danke schonmal
Grüße Moonlight
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateien austauschen

  Alt 6. Sep 2004, 14:26
Warum lädst du die Datei nicht in das temporäre Verzeichnis und bildest dort die Chech-Summe?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Moonlight

Registriert seit: 16. Aug 2004
11 Beiträge
 
#3

Re: Dateien austauschen

  Alt 6. Sep 2004, 14:41
Welche Datei meinst Du? Die ich vom Server geladen habe?

Ich habe alle Checksummen in einer Xml-Datei die ich zum Server schicke. der Server hat die Original Xml-Datei und vergleicht die Checksummen der beiden xml-Dateien.
Daraufhin bekomme ich die geänderte Datei vom Server zurück
  Mit Zitat antworten Zitat
Moonlight

Registriert seit: 16. Aug 2004
11 Beiträge
 
#4

Re: Dateien austauschen

  Alt 7. Sep 2004, 10:08
Also ich habe mein Problem gelöst :

Code:
var
  i: Integer;
  datei: file of Byte;
  myDatei: array of Byte;
begin

  SetLength(myDatei, Length(dateiInhalt) + 1);
  for i := 0 to Length(dateiInhalt) do
    myDatei[i] := Ord(dateiInhalt[i]);

  Assign(datei, cROOTPATH + dateiName);
{$I-}
  Rewrite(datei); // Zum schreiben öffnen, falls vorhanden wird Inhalt gelöscht
{$I+}
  if IOResult <> 0 then
  begin
  // Fehler beim öffnen abfangen
    MessageDlg('Fehler beim öffnen der Datei!', mtError, [mbOk], 0);
  end;
  for i := 1 to High(myDatei) do
  begin
    Write(datei, myDatei[i]);
  end;
  Close(datei);
end;
Viele Grüße
Moonlight
  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 19:47 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