Autor Beitrag
pHaRyNx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 94

win 95, win 2000, win xp, VISTA, Ubuntu 8.04
Delphi 7 PE
BeitragVerfasst: Do 28.08.08 13:27 
moin.

ich habe folgendes problem: bei dem unten stehenden quelltext (beim ersten WriteLN) kommt besagter error:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
...
const konfig='konf.set';
var pw:string;
sd,ifr:Integer;
datei:textfile;

...
AssignFile(datei,konfig);
{$i-}
rewrite(datei);
{$i+}
WriteLN(pw);
WriteLN(IntToStr(sd));
WriteLN(verschl( IntToStr(sd) ));
WriteLN(IntToStr(ifr));
WriteLN(verschl(IntToStr(ifr)));
closefile(datei);


wäre nett, wenn mir jemand helfen könnte, ich hab keine ahnung, was da schief läuft...

mfg pHaRyNx

edit
mann bin ich doof :D ich hab schon lange nicht mehr delphi programmiert ich muss ja writeln(datei,...) schreiben.
hat sich erledigt


Zuletzt bearbeitet von pHaRyNx am Do 28.08.08 13:30, insgesamt 1-mal bearbeitet
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 28.08.08 13:29 
wenn schon, dann so :

user profile iconpHaRyNx hat folgendes geschrieben:
[delphi]
AssignFile(datei,konfig);
{$i-}
rewrite(datei);
{$i+}
WriteLN(datei,pw);

_________________
Gruß
Hansa
pHaRyNx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 94

win 95, win 2000, win xp, VISTA, Ubuntu 8.04
Delphi 7 PE
BeitragVerfasst: Do 28.08.08 13:31 
joa, danke :-)...mein fehler.
delphi10
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: Do 28.08.08 16:46 
io-Error 105 = Datei ist nicht zum Lesen geöffnet.

_________________
Salus populi suprema lex esto
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 28.08.08 16:55 
user profile icondelphi10 hat folgendes geschrieben:
zum Lesen geöffnet.


Klasse Beitrag. :mrgreen:

_________________
Gruß
Hansa
delphi10
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: Do 28.08.08 17:46 
Ein wenig Nachdenken fördert das Verständnis - auch das Zitieren klappt dann besser. :wink:

_________________
Salus populi suprema lex esto
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 28.08.08 17:52 
was immer du damit sagen willst kapiere ich nicht. Error 105 heißt im Klartext : "Datei wurde nicht für Schreiboperationen geöffnet". Also eindeutiger Fall.

_________________
Gruß
Hansa
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 28.08.08 20:30 
user profile iconhansa hat folgendes geschrieben:
wenn schon, dann so :

user profile iconpHaRyNx hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
AssignFile(datei,konfig);
{$i-}
rewrite(datei);
{$i+}
WriteLN([b]datei,[/b]pw);



Und warum machst du es wieder nur halb richtig? Du schaltest die fehlerbehandlung aus, aber implementierst keine eigen. Wenn dann so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
AssignFile(datei);
{$I-}
Rewrite(datei);
{$I+}
if IOResult = 0 then
begin
  Writeln(datei, 'Mein text.');
end
else
  // bei Fehler
  ShowMessage(SysErrorMessage(GetLastError));

Wen man das so macht, dann braucht man auch nicht lange rumrätseln, was Fehler 105 ist, da die Fehlermeldung im Klartext ausgegeb wird. Desweiteren stehen die IO Fehlercodes in der Hilfe. Man hätte also auch einfach mal selber nachgucken können, was Fehler 105 ist. Und mit etwas Nachdenken, hätte man dann wahrscheinlich auch selber die Lösung gefunden, ohne hir erst zu posten.
Chemiker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 194
Erhaltene Danke: 14

XP, Vista 32 Bit, Vista 64 Bit, Win 7 64 Bit
D7, BDS 2006, RAD Studio 2009+C++, Delphi XE2, XE3, VS 2010 Prof.
BeitragVerfasst: Do 28.08.08 22:19 
Hallo

ich würde sogar sagen, dass es zwingend vorgeschrieben ist mit IOResult zu arbeiten!
Wenn ein Fehler auftritt, bei ausgeschalteter E/A-Prüfung werden keine nachfolgende E/A-Operationen durchgeführt.
Das bedeutet man sucht sich bei einem Fehler einen Wolf, weil man nicht bestimmen kann, wo der Fehler aufgetreten ist. Selbst wenn die nachfolgenden E/O-Operationen richtig sind.

Bis bald Chemiker
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 28.08.08 22:36 
Das predige ich schon seit Jahren. Eine vernünftige Fehlerbehandlung hilft auch ungemein dem Entwickler eventuell vorhandene Fehler zu finden. Aber irgendwie scheint den meisten eine Fehlerbehandlung überflüssig zu sein, seis, weil sie zu faul sind oder weil sie denken, "da kann nichts passieren, weil ich alles richtig mache". Und dann kommt so was wie oben gesehen bei raus.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 28.08.08 23:37 
user profile iconLuckie hat folgendes geschrieben:
user profile iconhansa hat folgendes geschrieben:
wenn schon, dann so :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
AssignFile(datei,konfig);
{$i-}
rewrite(datei);
{$i+}
WriteLN([b]datei,[/b]pw);



Wieso werde ich da zitiert ? :shock: Habe den Fehler schließlich aufgedeckt. :mrgreen: Eins fehlt noch im Kontext : IOResult wertet man nicht so aus. Das übergibt man einer Variablen. Und die wird ausgewertet. So ungefähr :

ausblenden Delphi-Quelltext
1:
io := ioresult.					


Ansonsten ist die Gefahr sehr hoch so etwas zu versuchen :

ausblenden Delphi-Quelltext
1:
writeln (ioresult);					


8)

_________________
Gruß
Hansa
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 28.08.08 23:44 
user profile iconhansa hat folgendes geschrieben:
Wieso werde ich da zitiert ?

Du weißt doch, immer auf die kleinen. :mrgreen:
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 28.08.08 23:51 
user profile iconLuckie hat folgendes geschrieben:
Du weißt doch, immer auf die kleinen. :mrgreen:


Jaja, so aber nicht. Nicht mit mir. :mahn: Der soll bloss Variable verwenden, sonst krachts. :mrgreen:

_________________
Gruß
Hansa