AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler bei write / writeln in eine Datei

Fehler bei write / writeln in eine Datei

Ein Thema von Chrissi91 · begonnen am 26. Dez 2005 · letzter Beitrag vom 27. Dez 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Fehler bei write / writeln in eine Datei

  Alt 26. Dez 2005, 12:49
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.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#12

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:02
Delphi-Quellcode:
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;
Jetzt meckert er wieder egen dem Charakter, dabei habe ich doch jetzt darum PChar() gesetzt.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#13

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:07
Hi!

Sollte assign nicht immer noch assignFile heißen?
Lass das PChar mal weg.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#14

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:09
Zitat von fkerber:
Hi!

Sollte assign nicht immer noch assignFile heißen?
Lass das PChar mal weg.


Ciao Frederic
datei ist vom Typ File of Char. Ich denke, da brauche ich assign, oder habe ich das missverstanden? Wenn ich PChar weglasse, kommt die selbe Fehlermeldung.
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:12
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.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#16

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:15
Ist wohl noch einnbisschen früh für mich

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;
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#17

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:18
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:

zeichen := copy(mychar,random(10)+1,1)[1];
Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:19
Fkerbers Idee ist gut,

was ich gemeint habe wäre

zeichen := mychar[random(10)+1]; gewesen.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#19

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:28
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
Frederic Kerber
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#20

Re: Fehler bei write / writeln in eine Datei

  Alt 27. Dez 2005, 09:31
Danke, ich hab es jetzt richtig.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16: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