Autor Beitrag
p.a.t.r.i.k
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: So 24.02.08 20:11 
Hallo an Alle,

ich hab in der Schule ein "Notizzettel-Programm" gemacht, in dem es darum geht Formulare mit einem beschriebenen Memo-Feld zu Speichern.
Das hat auch wunderbar geklappt! - In der Schule -
Jedoch zu Hause funktioniert die selbe Programmierung nicht...
Ich befürchte dass ich irgendetwas deklarieren muss oder etwas in den Eigenschaften verstelen muss, woran ich mich nun nicht mehr erinnern kann.
Ich hab mir den, in der Schule funktionierenden, Code ausgedruckt und abgeschrieben!!!
kann mir jemand helfen?
hab ich was vergessen, oder kann es an meiner abgespeckten Delphiversion liegen?
Hier das zu Hause geschriebene:




ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.SpeichernClick(Sender: TObject);
  Var
    Datei: TFilestream;
    i, k: Integer;
begin
  For i:= Listbox1.Count-1 Downto 0 do begin
  if Listbox1.Selected[i] Then begin
    For k:= componentcount-1 DownTo 0 do begin
      if components[k] is TForm3 then begin
        if components[k].Name= Listbox1.Items.Strings[i] then begin
           SaveDialog.Initialdir:= getcurrentdir;
        if SaveDialog.Execute then begin
           Datei:= TFilestream.Create(SaveDialog.Filename,fmcreate or
                                      fmopenreadwrite);
           Zettel.Memo1.Lines.SaveToStream(Datei);
           freeandnil(Datei);
        end;
        end;
      end;
    end;
  end;
  end;
end;




Ich bedanke mcih schon einmal im voraus

freundliche Grüße
p.a.t.r.i.k


Zuletzt bearbeitet von p.a.t.r.i.k am So 24.02.08 20:15, insgesamt 5-mal bearbeitet
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 24.02.08 20:12 
Könntest Du bitte Delphi-Tags benutzen ???
Dann ist dein Code besser lesbar ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 24.02.08 20:15 
Hi,

gewöhne dir bitte an, Delphi-Tags zu benutzen, also [delphi] [Quelltext] [/delphi]

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
p.a.t.r.i.k Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: So 24.02.08 20:16 
sorry,
meintest du so???
p.a.t.r.i.k Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: So 24.02.08 20:19 
offensichtlich kennt mein Delphi den Savedialog nicht
der wird rot angezeigt....
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 24.02.08 20:20 
Kannst Du ganz kurz bestätigen, dass der Fehler in der Zeile mit dem TFileStream.Create auftritt?

Wenn dem so ist:
1. GetCurrentDir ist eine schlechte Idee
2. Anwendungen dürfen als normaler Benutzer unter Windows nicht in das Programme-Verzeichnis schreiben

Ferner ein paar allgemeine Hinweise:
TStrings bietet direkt eine Methode SaveToFile, du brauchst also keinen Stream erst zu öffnen.

Und zwecks SaveDialog: Sicher, dass der bei Dir SaveDialog und nicht SaveDialog1 heißt???

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
p.a.t.r.i.k Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: So 24.02.08 20:23 
also TFilestream.Create schein völlig richtig zu sein...
jedenfalls ist's nciht rot....
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 24.02.08 20:26 
Das etwas rot ist, heißt, dass es syntaktisch falsch ist ...
Programme müssen aber nicht nur syntaktisch, sondern auch semantisch korrekt sein, um wie gewünscht zu funktionieren.

P.S.: Versuch mal, deine Routine schrittweise zu debuggen ... das ist diese Funktion mit den Haltepunkten und so ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
p.a.t.r.i.k Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: So 24.02.08 20:27 
[Fehler] Unit1.pas(104): E2003 Undefinierter Bezeichner: 'SaveDialog1'

Funktioniert leider auch nicht.....
Muss ich den irgendwo definieren/deklarieren?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 24.02.08 20:28 
Auf dein Formular legen, damit Delphi weiß, dass Du einen SaveDialog verwenden möchtest, wäre u.U. von Vorteil ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
p.a.t.r.i.k Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: So 24.02.08 20:32 
Das War's was gefehlt hat....

verdammt
so ein scheiß

sorry für den stress
ich hatte einfach nur vergessen das auf die Form zu setzen

jetzt funktioniert alles Wundervoll

DANKE für die Mühe
und Gute Nacht

Mit freundlichsten Grüßen
p.a.t.r.i.k
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: So 24.02.08 20:46 
HI,

warum speicherst du nich gleich mit Memo1.Lines.SaveToFile?
da brauchst du den Stream nich, spart Resourcen und Zeit^^

MfG Bergmann.