| Autor |
Beitrag |
M.wieMmanfred
Hält's aus hier
Beiträge: 13
|
Verfasst: So 15.02.09 18:45
hi, wie kann ich es schaffen, dass ein memofeld in eine ganz bestimmt datei gespeichert wird, und nicht erst das speichern fenster geöffnet wird???
und anders rum genauso, mit dem öffnen einer bestimmten datei???
Danke
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 18:47
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
M.wieMmanfred 
Hält's aus hier
Beiträge: 13
|
Verfasst: So 15.02.09 18:56
jetzt funktioniert irgendwie gar nicht mehr und er gibt mir den fatalen fehler, dass die .exe nicht kompiliert werden kann.... -.-
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 18:58
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
M.wieMmanfred 
Hält's aus hier
Beiträge: 13
|
Verfasst: So 15.02.09 19:02
habe bemerkt, das ist noch davor SaveDialog1.Execute setzen muss...
allerdings funktioniert es dann nicht, dass er es automatisch öffnet, bzw. speichert sondern wieder das Speichern-Fenster aufruft...
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 19:05
Mir scheint, du verstehst die Zusammenhänge nicht.
Delphi-Quelltext 1: 2:
| SaveDialog1.Execute Memo1.Lines.SaveToFile |
Du kannst natürlich beides getrennt nutzen, die erste Zeile weglassen, aber selbstverständlich kannst du dann nicht auf SaveDialog1.FileName zugreifen, da dieser noch nicht gesetzt ist.
Soviel hat meine Kristallkugel ausgespuckt als ich sie befragt hab, aber leider muss die mal wieder in Reparatur, deinen Code konnte sie mir nicht anzeigen 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 15.02.09 19:06
zeig mal bitte ein bisschen quellcode.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
M.wieMmanfred 
Hält's aus hier
Beiträge: 13
|
Verfasst: So 15.02.09 19:14
Delphi-Quelltext 1: 2: 3: 4:
| procedure TLogin.FormCreate(Sender: TObject); begin MemPasswort.Lines.LoadFromFile('C:\test.txt'); end; |
also eigentlich nichts weltbewegendes, einfach beim programmaufruf soll das memofeld die daten vom letzten mal laden, aus einer file...
nun gibt er mir aber die fehlermeldung, wenn ich das mit dem execute wegelassen habe
Quelltext 1:
| [Fataler Fehler] ProgrammLogin.dpr(6): Verwendete Unit 'LoginProgramm.pas' kann nicht compiliert werden |
habe mich vorhin mit der .exe vertan.... sry...
das scheint ja nun daran zu liegen, wie du schon sagtest, dass savedialog1 noch nicht gesetzt ist und er nicht drauf zu greifen kann... aber wie kann ich denn drauf zugreifen, ohne, dass das lästige speichern-/öffnen-fenster angezeigt wird???
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 19:25
M.wieMmanfred hat folgendes geschrieben : | | das scheint ja nun daran zu liegen, wie du schon sagtest, dass savedialog1 noch nicht gesetzt ist und er nicht drauf zu greifen kann... aber wie kann ich denn drauf zugreifen, ohne, dass das lästige speichern-/öffnen-fenster angezeigt wird??? |
Daran liegts mit Sicherheit nicht, wenn dein Code genau so lautet(In deinem code steht nirgens SaveDialog1.Filename, du greifst also nicht auf den Speicherdialog zu). Genauso mit Sicherheit kann ich dir garantieren, dass der Fehler nicht im von dir geposteten Code liegt.
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
M.wieMmanfred 
Hält's aus hier
Beiträge: 13
|
Verfasst: So 15.02.09 19:28
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: 24: 25: 26: 27: 28:
| procedure TLogin.Button1Click(Sender: TObject); var a,b : string; i, IntSchluessel : integer; begin
a := Edname.Text; b := EdPasswort.Text; If length(a) or length(b) = 0 then Begin Label3.Caption := 'Geben sie erst einen Namen und/oder ein Passwort ein'; end else Begin MemName.Lines.Add(a); IntSchluessel:= StrToInt(SpinEdit1.Text); memPasswort.Lines.Clear; for i := 1 to Length(EdPasswort.Text) do memPasswort.Lines.Insert(i,VerschluesseleCeasar(EdPasswort.Text[i],IntSchluessel)); end; MemPasswort.Lines.SaveToFile('C:\test.txt'); end;
procedure TLogin.FormCreate(Sender: TObject); begin MemPasswort.Lines.LoadFromFile('C:\test.txt); end;
end. |
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 15.02.09 19:34
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 15.02.09 19:35
Poste doch einmal den Fehler, der von dir gepostete fatale Fehler ist ja erst der Folgefehler, weil in dr Unit ein Fehler aufgetreten ist.
Ein Fehler ist jedenfalls das, auch wenn das glaube ich der Compiler schluckt: Delphi-Quelltext 1:
| If length(a) or length(b) = 0 then | Ausgewertet wird das dann (bitweise or  ) so: Delphi-Quelltext 1:
| If (length(a) or length(b)) = 0 then | Und das willst du ja nicht. Richtige Version siehe über mir.
Einen Fehler, der zum Abbruch des Kompilierens führen würde, sehe ich gerade nicht, der wird wohl woanders als dort sein.
Wie gesagt: Poste die Fehlermeldung.
Zuletzt bearbeitet von jaenicke am So 15.02.09 19:36, insgesamt 2-mal bearbeitet
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 19:36
da sind 2 Fehler drin: In der letzten Prozedur dürfte die IDE die Fehlermeldung "Nicht abgeschlossener String" bringen: es fehlt ein '
und du fragst ab, ob Length(a) or Lenght(b) = null ist. Delphi rechnet nun:
Quelltext 1: 2: 3: 4:
| 101101 (das sei mal length(a) in binär-darstellung or 011001 (das sei length(b) in binär) ========= 111101 (das ist das ergebnis length(a) or length(b) |
Du musst wissen: or ist wie ein rechenzeichen, +, - oder sowas, und es wird auf binärebene ein logisches oder durchgeführt, siehe hierzu Wikipedia: de.wikipedia.org/wiki/Disjunktion
Die richtige Schreibweise hat dir DeddyH schon gepostet.
Die von dir gepostete Fehlermeldung von wegen "kann nicht kompiliert werden" ist sicherlich nicht die einzige, die er dir angezeigt hat. Die andere wäre interessanter gewesen 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 15.02.09 19:36
Außerdem fehlt da ein Hochkomma.
Delphi-Quelltext 1: 2: 3: 4:
| procedure TLogin.FormCreate(Sender: TObject); begin MemPasswort.Lines.LoadFromFile('C:\test.txt'); end; |
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 19:40
JayEff hat folgendes geschrieben : | | da sind 2 Fehler drin: In der letzten Prozedur dürfte die IDE die Fehlermeldung "Nicht abgeschlossener String" bringen: es fehlt ein ' |

_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 15.02.09 19:42
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 15.02.09 19:42
|
|
M.wieMmanfred 
Hält's aus hier
Beiträge: 13
|
Verfasst: So 15.02.09 19:46
so ich kann euch jetzt mal das zeigen, was ich bisher hab, dort gibt es keine einziges fehlermeldung (sorry wegen dem hochkommer, das war ein Flüchtigkeitsfehler... hatte ich danach erst behoben...)
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: 24: 25: 26: 27: 28: 29:
| procedure TLogin.Button1Click(Sender: TObject); var a,b : string; i, IntSchluessel : integer; begin
a := Edname.Text; b := EdPasswort.Text; Memo1.Lines.Add(b); If (length(a) = 0) or (length(b) = 0) then Begin Label3.Caption := 'Geben sie erst einen Namen und/oder ein Passwort ein'; end else Begin MemName.Lines.Add(a); IntSchluessel:= StrToInt(SpinEdit1.Text); memPasswort.Lines.Clear; for i := 0 to memo1.Lines.Count-1 do memPasswort.Lines.Insert(i,VerschluesseleCeasar(memo1.Lines[i],IntSchluessel)); end; MemPasswort.Lines.SaveToFile('C:\test.txt'); end;
procedure TLogin.FormCreate(Sender: TObject); begin MemName.Lines.LoadFromFile('C:\test.txt'); end;
end. |
jetzt habe ich kein einziges execute mehr drin... jetzt kommt auch keine fehlermeldung mehr, aber ich weiß trotzdem nicht, wie ich das hinbekomme mit dem automatschi saven, loaden von ner bestimmten datei...
sry, bin noch nicht so der profi^^
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 15.02.09 19:49
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 15.02.09 19:52
hast du schreibrechte für die c-platte?
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|