AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XPLOSIVs Fragentheard

Offene Frage von "XPLOSIV"
Ein Thema von XPLOSIV · begonnen am 31. Aug 2007 · letzter Beitrag vom 31. Aug 2007
Thema geschlossen
Seite 1 von 3  1 23      
XPLOSIV

Registriert seit: 31. Aug 2007
74 Beiträge
 
#1

XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 10:37
Hallo allerseits, ich bin ziemlich neu in Delphi, also nimmt es mir bitte nicht übel wenn die Programmierung schlecht erscheint

Meine Erste Frage, ich will einen noch nicht vorhandenen Button eine OnKlick Prozedur zuweisen, ich habe es so gemacht

MyButton.OnClick := MyRichEdit.SelectAll; Nun sagt mir Delphi "Liste der Parameter unterschiedlich"

Was würde funktionieren ? Achja, die Var's stehen schon


----------

Frage 2, ich habe einen Speichern Button erstellt, er soll den Inhalt der RichEdit, von der aktuellen Seite speichern, wenn die Datei schon funktioniert soll er sie überschreiben. Wenn nicht, SaveDialog1 ausführen. Doch bei mir speichert er weder den RichEdit1 von TabSheet2, noch den non der aktuellen Seite.

Delphi-Quellcode:
var
MyEdit: TRichEdit;
begin
   if SaveDialog1.FileName <> 'then MyEdit.lines.savetofile(SaveDialog1.Filename)
else begin
if SaveDialog1.Execute then
      MyEdit:=TRichEdit(PageControl1.ActivePage.Controls[0]);
      MyEdit.PlainText := True;
      MyEdit.Lines.SaveToFile(SaveDialog1.FileName);
end;

----------

Genau so ist es auch bei Speichern unter, hier erstellt er zwar die Datei (+Inhalt) doch gibt er gleich nach dem Speichern eine Fehlermeldung aus. Er soll wie oben beim Speichern falls TabSheet2 aktiviert ist, dort den Inhalt von RichEdit1 speichern, wenn nicht soll er von der aktuellen Seite das RichEdit (var=MyRichEdit) speichern.


Delphi-Quellcode:
begin
  SaveDialog1.Filter := 'NPC-Scripte (.d)|*.d';
  SaveDialog1.Execute;
  if SaveDialog1.FileName <> 'then
    begin
      TRichEdit(PageControl1.ActivePage.Controls[0]).PlainText := True;
      TRichEdit(PageControl1.ActivePage.Controls[0]).Lines.SaveToFile(SaveDialog1.FileName);
    end;
end;
-----------

Auch beim OpenDialog soll er falls TabSheet2 aktiviert ist, die Datei in RichEdit1 laden, falls nicht soll er sie in die RichEdit der aktuellen Seite laden.

Delphi-Quellcode:
begin
  SaveDialog1.Filter := 'NPC-Scripte (.d)|*.d';
  SaveDialog1.Execute;
  if SaveDialog1.FileName <> 'then
    begin
      TRichEdit(PageControl1.ActivePage.Controls[0]).PlainText := True;
      TRichEdit(PageControl1.ActivePage.Controls[0]).Lines.SaveToFile(SaveDialog1.FileName);
    end;
end;
------------

Dann wollte ich noch Syntax Highlighting einbauen, also das einige Wörter Dick, kursiv oder in einer anderen Farbe dargestellt werden. Ich hab mir schon SynEdit angeguckt, bin jedoch beim Installieren gescheitert, Anleitungen bei Google haben auch nix gebracht Kann mir einer erklären odder sagen wie es noch geht ?

Hoffe ihr könnt mir helfen, diese Probleme machen mir schon seit Tagen zu schaffen.

MfG XPLOSIV
 
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 10:43
Die Signatur der Methoden muss stimmen. Wie sieht sie für MyRichEdit.SelectAll aus?
Markus Kinzler
 
XPLOSIV

Registriert seit: 31. Aug 2007
74 Beiträge
 
#3

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 10:48
Zitat von mkinzler:
Die Signatur der Methoden muss stimmen. Wie sieht sie für MyRichEdit.SelectAll aus?
Hmm...Ich verstehe nicht ganz, wie gesagt bin seeehr Neu
 
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 10:49
Signatur = Anzahl un Typen der Parameter und des Rückgabewertes
Markus Kinzler
 
XPLOSIV

Registriert seit: 31. Aug 2007
74 Beiträge
 
#5

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 10:56
Hmm, also ich weiß nicht, ich hab das einfach so hingeschrieben, hier mal ein bisschen mehr vom Source.

Delphi-Quellcode:
//Button für das TabSheet erstellen
  MyButton:= TButton.Create(ts);
  MyButton.Parent:= ts; //damit wird dem Button das TabSheet als übergeordnete Komponente zugewiesen
  MyButton.Name:= 'Button'+IntToStr(PageControl1.PageCount);
  MyButton.Caption:= 'Skript kopieren';
  //Funktion zuweisen
   MyButton.OnClick := MyRichEdit.SelectAll;


Hoffe das Hilft
 
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 11:01
Wie gesagt die Signaturen müssen übereinstimmen. tun sie aber nicht.

Erwartet wird void (TObject) und .SelectAll hat void (void).

Delphi-Quellcode:
Procedure Form1.ButtonOnClic( Sender: TObject);
begin
    MyRichEdit.SelectAll;
end;
,,,
MyButton.OnClick := ButtonOnClick;
Markus Kinzler
 
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#7

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 11:04
Ich kann mir vorstellen, dass es für dich einfacher ist alle Fragen in einem Thread zu stellen. Es ist allerdings gängige Praxis hier und es steht auch in den Foren-Regeln drin, dass für jede Frage ein Thread eröffnet werden soll.
Der Grund ist ganz einfach, dass die Diskussionen nicht übermäßig unüberschaubar werden und was eigentlich viel wichtiger ist, dass Suchende einfacher die richtigen Antworten finden.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
 
XPLOSIV

Registriert seit: 31. Aug 2007
74 Beiträge
 
#8

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 12:23
Oh danke, jetzt bin ich schlauer, hmm ch versteh das net, heißt das es ist unmöglich oder wie ? Wo soll ich denn den Code hinschreiben, der Button ist ja erstmal garnicht da, sondern er wird erstellt.


Hoffe jemand kann mir helfen
 
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 12:28
Ist egal ob der Button schon existiert. deshalb wird ja auch die Methode zur Laufzeit zugewiesen.
Du könntest dir auch eine abgeleitete Button-Klasse basteln.
Markus Kinzler
 
XPLOSIV

Registriert seit: 31. Aug 2007
74 Beiträge
 
#10

Re: XPLOSIVs Fragentheard

  Alt 31. Aug 2007, 12:40
Zitat von mkinzler:
Ist egal ob der Button schon existiert. deshalb wird ja auch die Methode zur Laufzeit zugewiesen.
Du könntest dir auch eine abgeleitete Button-Klasse basteln.

Wie soll ich das machen ? Was und wo soll ich hinschreiben ?

Kann mir mal einer ordentliche Anleitung für SynEdit installieren geben, oder sagen wie man mit Delphi alleine Syntax Highlighting einbaut ?

MfG XPLOSIV
 
Thema geschlossen
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz