AGB  ·  Datenschutz  ·  Impressum  







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

Tipp für datei (strings...list..??)

Ein Thema von Headi · begonnen am 20. Dez 2005 · letzter Beitrag vom 21. Dez 2005
Antwort Antwort
Headi

Registriert seit: 17. Nov 2005
Ort: Weinfelden
101 Beiträge
 
Delphi 2007 Professional
 
#1

Tipp für datei (strings...list..??)

  Alt 20. Dez 2005, 20:40
Hallo leute,

Folgendes, ich möchte gerne ein Programm schreiben, das dateien auf crc32 prüfen kann.
Ich weiss ja wie ich eine ganz normale text datei öffnen kann, aber eine sfv datei ist volgendermassen aufgebaut:

test.rar b9a6aece
test.jpg e9aa6eab
|
|
|
V

file|abstand|crc32

jetzt file öffnen wäre ja kein problem, aber wie kann ich die daten eindeutig ansprechen?
also ich habe das so gedacht:
  • sfv datei wählen
  • erster dateiname/datei wird überprüft ob vorhanden
  • wenn vorhanden wird crc32 check durchgeführt
  • dann wird der zweite wert genommen und mit dem ergebniss verglichen
  • wenn gleich dann crcOK wenn ungleich crcFehler

jetzt wie schon gesagt weiss ich nicht wie ich mit diesen "wörtern" umgehen soll...

Also lösen würde ich mein problem gerne selber,
aber ich brauche einfach einen hilfreichen Tipp wie ich das machen soll.
Also soll ich die daten in ein listview oder sowas laden oder gibt es da stringlists mit denen man sowas machen kann?
Und das grösste problem wie kann ich die zwei wörter also "filename" und "crc code" auseinander nehmen? da die in der gleichen zeile sind.

Bitte um hilfe ...

mfg headi
Pascal
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#2

Re: Tipp für datei (strings...list..??)

  Alt 20. Dez 2005, 20:54
kuck dir mal die Hilfe zu TStringList und zu DelimitedText an.
das dürfte dir auf die Sprünge helfen.
  Mit Zitat antworten Zitat
Headi

Registriert seit: 17. Nov 2005
Ort: Weinfelden
101 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Tipp für datei (strings...list..??)

  Alt 20. Dez 2005, 22:37
Zitat von dahead:
kuck dir mal die Hilfe zu TStringList und zu DelimitedText an.
das dürfte dir auf die Sprünge helfen.
hi dahead,

vielen dank erstmal.
Ich hab mir das mal angeschaut, und auch gleich was geschafft,
nur jetzt sehe ich schon das erste problem.
Und zwar wenn im dateinamen auch ein leerzeichen ist dann ist dies logischerweise auch im delimiter also wird auch auf ne neue Zeile gemacht.

Ich denke das könnte ein recht grosses Problem sein.

hier mal mein Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sl: Tstrings;
begin
  if OpenDialog1.Execute then
  sl:=TStringList.Create;
  sl.LoadFromFile(OpenDialog1.FileName);
  sl.Delimiter:=' ';
  sl.DelimitedText:=sl.Text;
  ShowMessage(sl.Text);
  sl.Free;
end;
Achja nochwas, durch den delimiter hab ich ja jetzt einfach jede erste zeile den dateinamen und jede zweite zeile den crc32.
wenn ich mit dem jetzt arbeiten möchte, muss ich die aber wieder auseinander bringen am besten wieder nebeneinander.

ich hoffe ich bekomme nochmals so einen guten Tipp

vielen dank

mfg headi
Pascal
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#4

Re: Tipp für datei (strings...list..??)

  Alt 20. Dez 2005, 23:31
da es schon relativ spät ist, hab ich das kurz zusammengezimmert (sprich da ist noch optimierungsbedarf). aber fürs erste dürftest du damit weiterkommen:

Delphi-Quellcode:
var
  I: Integer;
  SL, SLSub: TStringList;
begin

  if OpenDialog1.Execute then
   begin
    SL := TStringList.Create;
    SL.LoadFromFile(OpenDialog1.FileName);
    SL.Delimiter := ' ';

    SLSub := TStringList.Create;

    for I := 0 to SL.Count - 1 do
     begin
      SLSub.DelimitedText := SL[I];
      ShowMessage(SLSub[0] + #13#10 + SLSub[1]);
     end;

    SLSub.Free;

    sl.Free;
   end;
der Trick ist, dass du SLSub verwendest um an die DelimitedText Eigenschaft ranzukommen (in diesem Fall 2 Felder. [0] = Dateiname, [1] = Hash). In SL sind nach wie vor alle Zeilen der Quell-Datei unverändert vorhanden.

Um das Problem mit dem Leerzeichen im Dateinamen zu umgehen, könntest du von hinten das letzte Leerzeichen als Trenner verwenden (dazu siehe AnsiRightStr bzw. Pos).
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Tipp für datei (strings...list..??)

  Alt 21. Dez 2005, 04:34
wenn du die JCL installiert hast, dann schau dir mal "strafter" und "strbefore" an

Dazu musst du die Unit JCLStrings in die Uses Klausel nehmen.
  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: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