Autor Beitrag
mehmeh
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 97

WIN XP
D5 Prof
BeitragVerfasst: Mo 30.05.05 12:25 
Hi,
in meinem Prog. soll eine Datei auf Manipulation geprüft werden.
in der ersten Zeile der Datei soll 'Name : mehmeh' stehen, allerdings funktoniert es nicht richtig. Wenn ich die Datei manipuliere (in die erste Zeile etwas anderes herein schreibe), dann gibt er keine Fehlermeldung aus!


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
if OpenDialog1.Execute then
  begin
   AssignFile(text_datei, 'tbwn1343.sac');
   Reset(text_datei);
    if not((IOResult = 0) and (openDialog1.FileName <> '')) then
     begin
      ShowMessage('Es konnte keine Datei geladen werden!');
      Application.Terminate;
     end;
  end;

 readln(text_datei, Buffer);
 MyString := Buffer;

 If MyString <> 'Name : mehmeh' then
  begin
   ShowMessage('Achtung!' + #13 + 'Falsche Datei oder' + #13 + 'Datei wurde in Zeile 1 manipuliert!');
   application.Terminate;
  end;


Wie muss ich den Code ändern, damit er mir die Fehlermeldung ausgibt?

Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt.
Moderiert von user profile iconGausi: Topic aus VCL (Visual Component Library) verschoben am Mo 30.05.2005 um 15:07
Moderiert von user profile iconChristian S.: Color- durch Highlight-Tag ersetzt
Harry Hunt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 50



BeitragVerfasst: Mo 30.05.05 12:32 
Was für eine Variablentyp hat Buffer?

ausblenden Delphi-Quelltext
1:
2:
var
  Buffer: array[0..12] of Char;


sollte eigentlich funktionieren.


Wenn du eine sicherere Überprüfung auf Manipulation brauchst, solltest du dir mal den CRC, den MD5 und den SHA1 Algorithmus anschauen.

Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt.
deccer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57



BeitragVerfasst: Mo 30.05.05 12:40 
ganz primitiv ausgedrückt...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
uses
  Classes;

var
  xFile1: TMemoryStream;
  xFile2: TMemoryStream;

begin
  xFile1 := TMemoryStream.Create;
  xFile1.LoadFromFile('datei1.ext');
  xFile2 := TMemoryStream.Create;
  xFile2.LoadFromFile('datei2.exe');
  if CompareMem(xFile1.Memory, xFile2.Memory) <> 0 then
    ShowMessage('dateien sind unterschiedlich');
  FreeAndNil(xFile1);
  FreeAndNil(xFile2);
end;


eventuell kann man auch das datum prüfen wann die datei das letzte mal "geändert" wurde :)

Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt.

_________________
I <3 PeRLe
mehmeh Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 97

WIN XP
D5 Prof
BeitragVerfasst: Mo 30.05.05 13:35 
Buffer ist ein string
jetzt klappt es ich hab die Falsche Datei gehabt.

Aber nu hab ich noch ne andere Frage? Wie krieg ich es denn hin, dass der mir den öffnen Dialog nicht öffnet, sonder sofort die angegebe Datei nimmt?