AGB  ·  Datenschutz  ·  Impressum  







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

Cardinal und TFileName

Ein Thema von Merchator · begonnen am 11. Mär 2007 · letzter Beitrag vom 12. Mär 2007
Antwort Antwort
Merchator

Registriert seit: 24. Feb 2007
16 Beiträge
 
Delphi 7 Personal
 
#1

Cardinal und TFileName

  Alt 11. Mär 2007, 20:10
Hallo liebe DelphiPraxis.net-Community.
Es freut mich zu sehen, dass auch noch viele andere gerne mit Delphi arbeiten.
Leider bin ich noch ziemlicher Anfänger in diesem Gebiet. Die gröbsten Grundlagen
kenne ich schon, in die Feinheiten werde ich noch gehen.
Nun aber zu meiner eigentlichen Frage:
Ich will ein Programm machen, welches eine Datei öffnet und mit der XOR Methode entschlüsselt.
Dieser entschlüsselte Text soll danach in einem Memo angezeigt werden.

Hier der Quellcode:
Delphi-Quellcode:
begin
if not OpenDialog1.Execute then exit;
fsize:=GetFileSize(OpenDialog1.FileName); <--Hier weiß ich nicht weiter!
assignfile(f,OpenDialog1.FileName); reset(f,1);
blockread(f,c,fsize);
for k:=1 to fsize do c[k]:=chr(ord(c[k]) xor 123);
closefile(f);
assignfile(f,OpenDialog1.FileName+'.txt'); rewrite(f,1);
blockwrite(f,c,fsize);
memo1.lines.LoadFromFile(OpenDialog1.FileName);
end;
Funktioniert soweit auch alles wunderbar, nur bis auf diese Zeile

fsize:=GetFileSize(OpenDialog1.FileName); Danach heißt es "Inkompatible Typen Cardinal und TFileName".
Klar weiß ich, was "inkompatibel" bedeutet, aber wie kriege ich diesen fehler weg?
Die Variablen sind sowit auch richtig festgelegt.
Oder gibt es noch einen anderen (einfacheren) Weg, um die Char-Anzahl zu ermitteln?
Wenn ja, bitte erklärt es ausführlich, denn ich bin ja noch nicht so weit

Ich hoffe ebenfalls, dass ich ins richtige Forum gepostet habe.
In der Suche habe ich keine passende Antwort gefunden, leider, und ich hoffe, dass das auch stimmt^^
Ich glaube, ich stehe auf dem Schlauch...

mfG,
Merchator

Achja, ich benutze Borland Delphi 7, aber ich glaube, dies ist weniger von Bedeutung
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Cardinal und TFileName

  Alt 11. Mär 2007, 20:50
Was ist GetFileSize?
Versuch mal: fsize:=FileSize(f);

FileSize will das Dateihandle haben.

Versuch mal übersichtlicher einzurücken und den Befehl exit zuvermeiden.
Delphi-Quellcode:
begin
  if OpenDialog1.Execute then begin
    try
      assignfile(f, OpenDialog1.FileName);
      reset(f, 1);
      fsize:=FileSize(f);
      blockread(f, c, fsize);
      for k:=1 to fsize do
        c[k]:=chr(ord(c[k]) xor 123);
    finally
      closefile(f);
    end;
    try
      assignfile(f, OpenDialog1.FileName+'.txt');
      rewrite(f, 1);
      blockwrite(f, c, fsize);
    finally
      closefile(f);
    end;
    memo1.lines.LoadFromFile(OpenDialog1.FileName);
  end;
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat
Merchator

Registriert seit: 24. Feb 2007
16 Beiträge
 
Delphi 7 Personal
 
#3

Re: Cardinal und TFileName

  Alt 11. Mär 2007, 21:11
Vielen Dank für die schnelle Antwort!
Das Programm funst jetzt soweit auch, nur eine kleine Peinlichkeit
Der Text im Memo1 ist immernoch verschlüsselt. Wie biege ich das jetzt hin, dass
die , ich nenn sie jetzt mal, "decodierte" datei gleich ins Memo geschrieben wird, und zwar richtig?
Ich will unnötige TxT datein vermeiden.

Sorry, aber ich bin halt noch ein Anfänger.
Achja, und den Befehl "GetFileSize" habe ich irgendwo mal gelesen, und dachte mir, dass er hier funktionieren würde^^
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Cardinal und TFileName

  Alt 11. Mär 2007, 21:24
Müsste es vielleicht so sein...
  memo1.lines.LoadFromFile(OpenDialog1.FileName+'.txt'); Gruss
Thorsten
  Mit Zitat antworten Zitat
Merchator

Registriert seit: 24. Feb 2007
16 Beiträge
 
Delphi 7 Personal
 
#5

Re: Cardinal und TFileName

  Alt 12. Mär 2007, 17:57
Vielen Dank, klappt Wunderbar!
Jetzt wo man es sieht ist es echt simpel...

Ich werde dieses Forum weiterempfehlen!

mfG,Merchator
  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 22:33 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