![]() |
Re: Fehler bei write / writeln in eine Datei
Du könntest ja auch File of byte bzw. file of char verwenden und deine Variable zeichen zu einem char machen.
Für den Hausgebrauch sollte dieses Verfahren um Dateien zu schreddern ausreichend sein, denk ich. Wirklich pyshikalisch schreddern wie in Presse oder so kann man per Prog eh nicht realisieren. |
Re: Fehler bei write / writeln in eine Datei
Delphi-Quellcode:
Jetzt meckert er wieder egen dem Charakter, dabei habe ich doch jetzt darum PChar() gesetzt.
procedure DateiUeberschreiben(pfad: string; groesse: integer);
const mychar :string = ('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"§$%&/()=?~+,.-{}[]²³\|*'); var i, a : integer; zeichen: Char; datei: file of char; begin for a := 1 to 10 do begin Assign(datei, pfad); rewrite(datei); for i := 1 to groesse do begin zeichen := copy(PChar(mychar),random(10)+1,1); // [Error] Unit1.pas(44): Incompatible types: 'Char' and 'String' write(datei,zeichen); end; closefile(datei); end; deletefile(form1.verzeichnis.text); end; |
Re: Fehler bei write / writeln in eine Datei
Hi!
Sollte assign nicht immer noch assignFile heißen? Lass das PChar mal weg. Ciao Frederic |
Re: Fehler bei write / writeln in eine Datei
Zitat:
|
Re: Fehler bei write / writeln in eine Datei
Nein, Assign ist für andere Zwecke gedacht, Du kannst/solltest trotzdem AssignFile verwenden.
Wegen dem anderen Problem, mach aus deinem String einen ShortString, er ist ja nicht länger als 255 Zeichen und greif via [] auf die einzelnen Zeichen zu. das sollte funktionieren. |
Re: Fehler bei write / writeln in eine Datei
Ist wohl noch einnbisschen früh für mich :drunken:
Delphi-Quellcode:
procedure DateiUeberschreiben(pfad: string; groesse: integer);
const mychar :shortstring = ('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"§$%&/()=?~+,.-{}[]²³\|*'); var i, a : integer; zeichen: Char; datei: file of char; begin for a := 1 to 10 do begin Assignfile(datei, pfad); rewrite(datei); for i := 1 to groesse do begin zeichen := copy(mychar[random(10)+1]),i,1); // not enough parameters. was mache ich denn jetzt wieder flasch :stupid: write(datei,zeichen); end; closefile(datei); end; deletefile(form1.verzeichnis.text); end; |
Re: Fehler bei write / writeln in eine Datei
HI!
Wenn ich nur Assign verwende kommt bei mir dieser Fehler: [Error] Unit1.pas(38): Incompatible types: 'TPersistent' and 'Text' Also: AssignFile verwenden Zum Char-Problem: zeichen erwartet einen Char, copy liefert einen String der Länge 1 zurück ==> nur auf erstes Zeichen zugreifen:
Delphi-Quellcode:
zeichen := copy(mychar,random(10)+1,1)[1];
Ciao Frederic |
Re: Fehler bei write / writeln in eine Datei
Fkerbers Idee ist gut,
was ich gemeint habe wäre
Delphi-Quellcode:
gewesen.
zeichen := mychar[random(10)+1];
|
Re: Fehler bei write / writeln in eine Datei
Hi!
Falls du die Idee von GuenterS aufgreifen willst, musst du nur die falsche ) an der Stelle da weglassen:
Delphi-Quellcode:
(mychar[random(10)+1]),i,1);
^^ Ciao Frederic |
Re: Fehler bei write / writeln in eine Datei
Danke, ich hab es jetzt richtig. :coder:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz