| Autor |
Beitrag |
CurdledMilk
      
Beiträge: 30
|
Verfasst: Di 31.05.05 11:04
Hallo ihr:
Ich kann zwar speichern aber der text wird dann nicht mit gespeichert. Sondern nur ne lehre txt.datei. Das is ein bisl komisch weil wenn ich eine texdatei lade, und da was lösche kann ich das bearbeitete speichern, wenn ich aber was dazu schreibe kommt dies wieder nicht mit in die textdatei.
Hier mein 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: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ComCtrls, ToolWin, ImgList,Contnrs;
type TForm1 = class(TForm) MainMenu1: TMainMenu; Datei1: TMenuItem; Neu1: TMenuItem; ffnen1: TMenuItem; Speichern1: TMenuItem; Speichernunter1: TMenuItem; Drucken1: TMenuItem; Schlieen1: TMenuItem; Programmbeenden1: TMenuItem; Bearbeiten1: TMenuItem; Rckgngig1: TMenuItem; Ausschneiden1: TMenuItem; Kopieren1: TMenuItem; Einfgen1: TMenuItem; AllesMarkieren1: TMenuItem; Lschen1: TMenuItem; Format1: TMenuItem; Schrifft1: TMenuItem; N3: TMenuItem; Hilfe1: TMenuItem; Information1: TMenuItem; FontDialog1: TFontDialog; SaveDialog1: TSaveDialog; OpenDialog1: TOpenDialog; PrintDialog1: TPrintDialog; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; Ausrichtung1: TMenuItem; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; ToolButton12: TToolButton; ToolButton13: TToolButton; ToolButton14: TToolButton; ToolButton15: TToolButton; ToolButton16: TToolButton; ToolButton17: TToolButton; ToolButton18: TToolButton; ToolButton19: TToolButton; ToolButton20: TToolButton; ToolButton21: TToolButton; ToolButton22: TToolButton; ToolButton23: TToolButton; ToolButton24: TToolButton; ToolButton25: TToolButton; ToolButton26: TToolButton; ToolButton27: TToolButton; ToolButton28: TToolButton; ToolButton29: TToolButton; ImageList1: TImageList;
procedure FormCreate(Sender: TObject);
procedure Neu1Click(Sender: TObject); procedure ffnen1Click(Sender: TObject); procedure Speichernunter1Click(Sender: TObject); procedure Speichern1Click(Sender: TObject);
private public pfad :string; end;
var Form1: TForm1; Dateien: TObjectList;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin Dateien := TObjectList.Create(true); end;
procedure TForm1.Neu1Click(Sender: TObject); var Form2: TForm2; begin Form2 := TForm2.Create(nil); Dateien.Add(Form2); Form2.Show; end;
procedure TForm1.ffnen1Click(Sender: TObject); begin if OpenDialog1.Execute then begin Form2.RichEdit1.Lines.LoadFromFile (OpenDialog1.FileName); Form2.Show; end;
end;
procedure TForm1.Speichernunter1Click(Sender: TObject); begin if SaveDialog1.Execute then try Form2.RichEdit1.Lines.SaveToFile(SaveDialog1.FileName+'.txt'); Pfad := SaveDialog1.FileName; except ShowMessage('Fehler beim Speichern.'); end; end;
procedure TForm1.Speichern1Click(Sender: TObject); begin begin if Pfad <> '' then form2.RichEdit1.lines.savetofile(pfad) else ShowMessage('Erst Speichern unter'); end; end;
end. |
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:
| unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;
type TForm2 = class(TForm) RichEdit1: TRichEdit; private public end;
var Form2: TForm2;
implementation
{$R *.dfm}
end. |
Moderiert von raziel: Code- durch Delphi-Tags ersetzt.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.05.05 11:44
ich würde das etwas anders machen
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Speichernunter1Click(Sender: TObject); begin if SaveDialog1.Execute then try Form2.RichEdit1.Lines.SaveToFile(SaveDialog1.FileName); Pfad := SaveDialog1.FileName; Speichern1.enabled := true; except ShowMessage('Fehler beim Speichern.'); end; end; procedure TForm1.Speichern1Click(Sender: TObject); begin if fileexists(Pfad) then form2.RichEdit1.lines.savetofile(pfad); end; |
aber es müsste eigentlich funktionieren, was geht denn nicht, speichern oder speichern unter... ? oder beides ?
kann an der form2 liegen, warum erstellst du die eigentlich zur laufzeit, gibt es da einen grund für ? daran wirds wohl liegen 
|
|
CurdledMilk 
      
Beiträge: 30
|
Verfasst: Di 31.05.05 12:22
jo jetzt gehts aber wenn ich mehrer Richedit forms geöffnet habe speicherts nich das markierte Form sondern immer das erste irgend wie heißen die auch alle form2 grummel.
Kannst du da noch mal helfen.
PS:
was meintest du mit:
kann an der form2 liegen, warum erstellst du die eigentlich zur laufzeit, gibt es da einen grund für ? daran wirds wohl liegen
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.05.05 13:30
das meine ich:
| Zitat: |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Neu1Click(Sender: TObject); var Form2: TForm2; begin Form2 := TForm2.Create(nil); Dateien.Add(Form2); Form2.Show; end; |
|
|
|
CurdledMilk 
      
Beiträge: 30
|
Verfasst: Di 31.05.05 14:28
Aber wie kann ich das anders machen. Das is ja der befehl für den neu code. Wenn ich das jetzt so sehe kann ich mein MDI Texteditor trotzdem nur als SDI Texteditor nutzen zumindestens wenn ich speichern will.
Was muss ich da umändern?
wäre schön wenn du mir noch mal helfen könntest. Vielen dank
|
|
SvenAbeln
      
Beiträge: 334
Erhaltene Danke: 3
|
Verfasst: Di 31.05.05 14:59
Hi,
schau dir mal die Eigenschaft ActiveMDIChild vom TForm an.
Damit bekommst du das Gerade aktive Fenster und kannst dann von diesem den Text speichern.
|
|
CurdledMilk 
      
Beiträge: 30
|
Verfasst: Di 31.05.05 15:37
Uff das is schwierig. kannst du mir bitte noch zeigen wo und in welcher form ich das einfügen muss.
vielen dank schon ma!
|
|
SvenAbeln
      
Beiträge: 334
Erhaltene Danke: 3
|
Verfasst: Di 31.05.05 15:56
Wenn ich dein Programm richtig verstanden habe, ist Form1 dein Hauptfenster.
Dann Zeigt Form1.ActiveMDIChild auf das MDI Fenster mit dem Fokus.
verwende zum speichern einfach so etwas: (ungetestet)
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Speichernunter1Click(Sender: TObject); begin if Form1.ActiveMDIChild<>NIL then begin if SaveDialog1.Execute then try (Form1.ActiveMDIChild as TForm2).RichEdit1.Lines.SaveToFile(SaveDialog1.FileName+'.txt'); Pfad := SaveDialog1.FileName; except ShowMessage('Fehler beim Speichern.'); end; end; end; |
Nun wird immer der Text vom aktiven Fenster gespeichert.
|
|
CurdledMilk 
      
Beiträge: 30
|
Verfasst: Di 31.05.05 16:09
|
|