Autor Beitrag
XPert
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Windows 98/00/Me/XP
D6 Pers
BeitragVerfasst: Do 29.08.02 18:25 
Willkommen im "Self-Editor"-Tutorial von XPert!

Bitte starte Delphi. Für Dein eigenes Notepad brauchst du:

1 MainMenu
1 Memo
1 OpenDialog
1 SaveDialog

Nun fügst Du das MainMenü in dein Projekt ein. Gehe in den Objektinspektor und aktiviere nun die Seite Eigenschaften. Den Menüpunkt Items musst du nun aktivieren. Du kannst auch auf das Symbol im Formular doppelklicken. Nun bist Du im Menüeditor.
Gib nun den Menüpunkt Datei ein. Wenn du das &-Zeichen vor einem Buchstaben setzt ist der Buchstabe unterstrichen. Ein Minus (-) bewirkt das ein Strich kommt, mit diesem Strich kann man Menüpunkte abtrennen. Füge unter Datei die folgenden Menüpunkte:
Neu, Öffnen, Speichern, Speichern unter , Minus (-), und Ende
ein. Du musst immer zwischen dem Menüeditor und dem Objektinspektor wechseln.
Wenn Du sicherlich den Menüpunkt Bearbeiten haben willst dann füge ihn und Ausschneiden,Kopieren, Einfügen, Löschen,Minus (-) und alles Markieren als Untermenü ein. Den Menüpunkt Info und dem darunter mit dem Namen Info darfst du natürlich nicht vergessen.
Als nächstes fügst du nun das Memo ein. Im Objektinspektor änderst du die Eigenschaft Align auf "alClient". Nun ist das Memo so groß wie das Fenster.
//Tipp: Wenn der Objektinspektor mal verdeckt ist oder geschlossen
//wurde einfach F11 drücken und er erscheint wieder.
Füge nun den Rest ein (SaveDialog, OpenDialog).
Nun geht es los mit dem Bearbeiten von den Menüpunkten: Gehe aus dem Menüeditor. Wenn du doppelt auf einen der Menüpunkte klickst dann kannst Du die Befehle eingeben (natürlich nur im Fenster wo man den Quelltext eingibt).
Bei Neu:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if Memo1.Modified=False Then Form1.Close Else 
  begin 
   If MessageDlg('Sind Sie sicher, dass Sie neu anfangen wollen? Nicht gespeicherte Daten gehen verloren!'
   mtConfirmation, [mbYes, mbNo], 0) = mrYes then Memo1.Lines.Clear; 
  End;

Bei Öffnen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
If Opendialog1.Execute = True Then 
  Memo1.Lines.LoadFromFile(Opendialog1.FileName);
<span style="font-weight: bold">Bei Speichern:</span>
If SaveDialog1.Filename<>''Then  
    Memo1.Lines.SaveToFile(SaveDialog1.Filename) 
  Else If SaveDialog1.Execute = True Then  
    Memo1.Lines.SaveToFile(SaveDialog1.Filename)

Bei Speichern unter...:
ausblenden Delphi-Quelltext
1:
2:
3:
If SaveDialog1.Execute = True Then Memo1.Lines.SaveToFile(SaveDialog1.Filename)
<span style="font-weight: bold">Bei Ende/Beenden:</span>
close;

Bearbeiten:
Ausschneiden:
ausblenden Delphi-Quelltext
1:
Memo1.CutToClipboard;					

Kopieren:
ausblenden Delphi-Quelltext
1:
Memo1.CopyToClipboard;					

Einfügen:
ausblenden Delphi-Quelltext
1:
Memo1.PasteFromClipboard;					

Löschen:
ausblenden Delphi-Quelltext
1:
Memo1.ClearSelection;					

Alles markieren:
ausblenden Delphi-Quelltext
1:
Memo1.SelectAll;					

Um nun noch das Info zu belegen musst du noch etwas einfügen. Du gehst auf Datei und danach auf Neu.... Es erscheint ein Fenster. In diesem Fenster gehst Du auf die Registerkarte Formulare. Nun noch ein Doppelklick auf Info-Fenster(About-Fenster). Nun ist das Info-Fenster eingefügt.

In diesem Info-Fenster kannst du nun den Produktnamen, die Version, das Copyright und einen Kommentar einfügen.
Einen Doppelklick auf den OK-Button und füge nun den Quelltext ein:
ausblenden Delphi-Quelltext
1:
close;					


Im Form1 musst Du nun unter Info noch diesen Quelltext einfügen:
ausblenden Delphi-Quelltext
1:
AboutBox.Show;					

Den letzten Schliff bekommt Dein Editor wenn du noch die Caption von Form1 umänderst. Du könntest zum Beispiel "Editor - by ME" nehmen.

Wie bekommst du nun noch das "Memo1" im Memo weg?
Du wechselst im Objektinspektor auf Memo1 und auf Eigenschaften, dann suchst du den Eintrag "Lines" aus und klickst auf ... (ist am rechten Rand). Da kannst du nun den Text eingeben der beim Programmstart erscheinen soll.

Wenn Ihr Fragen habt oder anderes:
fabian@fschweers.de

Wenn Ihr einen fertigen Editor sehen wollt:
www.fschweers.de/fab...ftware/v1/editor.exe


Viel Spaß noch mit eurem Editor!!!!!!!

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.

_________________
MfG Fabian Schweers :lol:
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: So 22.09.02 14:44 
ich würde noch im Form.Activate den ersten Parameter (also nich den 0ten) auslesen und diesen automatisch im memo laden.

Weil wenn man dan eine datei auf die exe "zieht" wird der editor gestartet und automatisch diese datei geladen.

dies könnt ihr so machen (im Form.activate)

ausblenden Delphi-Quelltext
1:
2:
if fileexists(paramstr(1)) then
   memo1.lines.LoadFromFile(paramstr(1));


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
author.psi
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 23


Delpi 7 Schüler Version
BeitragVerfasst: So 14.11.04 17:24 
Da ist dir ein kleiner Fehler unterlaufen:

Zitat:
If Opendialog1.Execute = True Then
Memo1.Lines.LoadFromFile(Opendialog1.FileName);
Bei Speichern:
If SaveDialog1.Filename<>''Then
Memo1.Lines.SaveToFile(SaveDialog1.Filename)
Else If SaveDialog1.Execute = True Then
Memo1.Lines.SaveToFile(SaveDialog1.Filename)


Da steht noch bei Speichern bei.
M0nty
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 29.01.05 16:49 
Chatfix hat folgendes geschrieben:
ich würde noch im Form.Activate den ersten Parameter (also nich den 0ten) auslesen und diesen automatisch im memo laden.

Weil wenn man dan eine datei auf die exe "zieht" wird der editor gestartet und automatisch diese datei geladen.

dies könnt ihr so machen (im Form.activate)

ausblenden Quelltext
1:
2:
if fileexists(paramstr(1)) then
   memo1.lines.LoadFromFile(paramstr(1));


Hi!

Also ich habe das bei meinem editor so gemacht. das funzt auch ganz wunderbar aber jetzt habe, ich nur noch das problem, dass ich gerne den dateipfad beim laden auslesen lassen würde. ich habe das sonst immer mit opendialog1.FileName gemacht das geht hier aber nicht.

wie kann ich das machen??

tHx 4 help
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Sa 29.01.05 17:51 
Na der Pfad (inkl. Dateiname) steht doch in

ausblenden Delphi-Quelltext
1:
ParamStr(1)					


Vielleicht hilft dir auch ExtractFilePath weiter...

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: So 30.01.05 11:22 
die Download URL geht nicht !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Radioactive
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179

Win 98, Win XP Home SP2
D3 Prof, D7 Pers, D2005 Pers
BeitragVerfasst: So 30.01.05 13:10 
OK, habe mich verlesen. vielleicht kann jemand diesen Beitrag wieder löschen...

_________________
Radioactive
"Wer scrollt, verliert!" Matthias Stein, Informatiklehrer am GG


Zuletzt bearbeitet von Radioactive am So 30.01.05 13:15, insgesamt 2-mal bearbeitet
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: So 30.01.05 13:12 
Erst lesen, dann denken, dann schreiben, es geht um den Pfad der Datei die geöffnet wurde...

Nicht um den Pfad der EXE.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce