Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi SynEdit unter Turbo Delphi (https://www.delphipraxis.net/117993-synedit-unter-turbo-delphi.html)

The Lord 29. Jul 2008 19:32


SynEdit unter Turbo Delphi
 
Hi,

ich habe gerade via Forensuche die SynEdit Komponente gefunden. Aber ich glaube, die kann ich gar nicht mit Turbo Delphi (was ich seit gestern benutzte) verwenden!?

Richtig?


Grüße :)

Matze 29. Jul 2008 19:34

Re: SynEdit unter Turbo Delphi
 
Hallo,

verwenden kannst du sie. Wenn du die Explorer-Version besitzt, musst du diese Komponente jedoch dynamisch zur Laufzeit erzeugen.

Grüße

Apollonius 29. Jul 2008 19:34

Re: SynEdit unter Turbo Delphi
 
Du kannst nicht mit dem Objekt-Inspektor darauf zugreifen, das ist korrekt. Du kannst sie allerdings dynamisch erzeugen. Es gibt zu diesem Thema schon sehr, sehr viele Threads. Suche mal nach "Turbo Delphi Komponenten".

The Lord 29. Jul 2008 19:43

Re: SynEdit unter Turbo Delphi
 
Ok ich habe ein paar Beiträge gefunden.

Ich binde die Unit ins Programm ein, danach definiere ich mir eine Variable mit dem entsprechenden Datentyp und kann die Komponente benutzen. Zum Schluss nur noch freigeben.

Aber weil dort so viele Dateien im Archiv sind, weiß ich nicht welche und wie ich die genau einbinden muss. In welchem Verzeichnis müssen denn die Dateien liegen?

Gruß

Balu der Bär 29. Jul 2008 19:49

Re: SynEdit unter Turbo Delphi
 
Ungepatchte dclusr.res besorgen und Komponenten in die dclusr.dpk installieren. Dann klappts auch mit den Komponenten zur Designtime in der IDE. ;)

The Lord 29. Jul 2008 19:53

Re: SynEdit unter Turbo Delphi
 
Zitat:

Zitat von Balu der Bär
Ungepatchte dclusr.res besorgen und Komponenten in die dclusr.dpk installieren. Dann klappts auch mit den Komponenten zur Designtime in der IDE. ;)

Weiß nicht, was du meinst :(

The Lord 30. Jul 2008 14:59

Re: SynEdit unter Turbo Delphi
 
...also bis jetzt habe ich noch nichts brauchbares :(

taaktaak 30. Jul 2008 15:32

Re: SynEdit unter Turbo Delphi
 
Ja, ja, so ist das, wenn man sparen muss; der Reiche lebt oft bequemer. Wie viele Units kommen denn in Frage? Scheidet aufgrund der Anzahl ein try-and-error aus?

The Lord 30. Jul 2008 16:03

Re: SynEdit unter Turbo Delphi
 
Ich möchte nur in einem Unit ein RichEdit mit Syntaxhighlighting versehen. Aber die Packages sind alle für nicht Turbo Editionen. Jetzt weiß ich aber nicht, wie ich das dynamisch benutzte. Ich lade es in mein Projekt und dann rufe ich es auf?

Gruß

mkinzler 30. Jul 2008 16:10

Re: SynEdit unter Turbo Delphi
 
Delphi-Quellcode:
<Kompo> := <TKompo>.Create(<Parameter>);
<Kompo>.Parent := ...
<Kompo>.<Eigenschaft1>.<Wert1>;
<Kompo>.<Eigenschaft2>.<Wert2>;
...

thabaker 30. Jul 2008 16:54

Re: SynEdit unter Turbo Delphi
 
Ergänze den Suchpfad deines Projektes um den Pfad zu den SynEdit Units in der Delphi Version. Dann musst du unter Units die UNit "SynEdit" eintragen und für die Highlighter nachschauen wie die jeweiligen Units heißen. D.h. du brauchst nicht das Synedit Package öffnen.
Dann kannst du auf die Komponenten per Laufzeit zugreifen.

The Lord 4. Aug 2008 17:20

Re: SynEdit unter Turbo Delphi
 
Zitat:

Zitat von thabaker
Ergänze den Suchpfad deines Projektes um den Pfad zu den SynEdit Units in der Delphi Version. Dann musst du unter Units die UNit "SynEdit" eintragen und für die Highlighter nachschauen wie die jeweiligen Units heißen. D.h. du brauchst nicht das Synedit Package öffnen.
Dann kannst du auf die Komponenten per Laufzeit zugreifen.

Tut mir leid, aber es funktioniert vorne und hinten nicht und ich weiß auch nicht, wei genau ich es machen muss.

Also...

Ich habe über "Dem Projekt hinzufügen" einige .pas Dateien hinzugefügt (SyncEdit und die Highlighter z.B. für PHP). Dann habe ich in meiner Main Unit in die Uses Klausel "SynEdit" eingebunden.
Ich weiß auch gar nicht, welche Dateien benötigt werden. Auch wenn ich Schritt für Schritt die Dateien dem Projekt hinzufüge, die gebraucht werden, so kommen immer Fehlermeldungen. Auch wenn ich alles einbinde, werden verschiede Sachen nicht gefunden...



Wäre toll, wenn mir jmd jetzt nochmal in kleinen Schritten helfen könnte :)

dominikkv 4. Aug 2008 17:39

Re: SynEdit unter Turbo Delphi
 
du musst nicht die Units dem Projekt hinzufügen...

1) Du hast einen Ordner in dem alle Units der Komponente liegen. Diesen gibst du jetzt bei den Optionen als zusätzlicher Suchpfad der Bibliothek mit an.
2) Du bindest die entsprechende Unit (zB SynEdit) unter den uses ein.
3) Du kannst die Komponente dynamisch erzeugen und freigeben.

The Lord 13. Aug 2008 15:39

Re: SynEdit unter Turbo Delphi
 
Also kompilieren kann ich jetzt alles. Aber gibt es dazu irgendwie ein Tutroial? Weil aus den Beispeiel-Sources werde ich nicht ganz schlau.

Am besten wäre es, wenn es jmd hier mit Beispiel-Code zeigen könnte, wie man z.B. c++ highlighten kann.

Grüße :)

Blackheart 13. Aug 2008 15:53

Re: SynEdit unter Turbo Delphi
 
Wie sieht denn dein bisheriger Code aus.

The Lord 13. Aug 2008 16:26

Re: SynEdit unter Turbo Delphi
 
Zitat:

Zitat von Blackheart
Wie sieht denn dein bisheriger Code aus.

Naja es gibt keinen wirklichen Code.
Ich habe nur ein RichEdit und jetzt wollte ich, z.B. per Button, die Syntax für z.B. c++ hervorheben. Ich weiß gar nicht, was genau ich wie einbinden muss und welche Funktionen ich aufrufen muss.

Ich hatte erst versucht mir das highlighting selbst zu programmieren - aber das ist ja viel zu viel.

Gruß

Blackheart 13. Aug 2008 17:02

Re: SynEdit unter Turbo Delphi
 
Zitat:

Zitat von dominikkv
du musst nicht die Units dem Projekt hinzufügen...

1) Du hast einen Ordner in dem alle Units der Komponente liegen. Diesen gibst du jetzt bei den Optionen als zusätzlicher Suchpfad der Bibliothek mit an.
2) Du bindest die entsprechende Unit (zB SynEdit) unter den uses ein.
3) Du kannst die Komponente dynamisch erzeugen und freigeben.

In etwa so
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SynEdit, SynHighlighterCpp;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Memo:TSynEdit;
  CPP:TSyncppSyn;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo:=TSynEdit.Create(Self); //SynEdit erzeugen
  CPP:=TSyncppSyn.Create(Self);//C++ HL erzeugen
  Memo.Highlighter:=CPP;
  Memo.Parent:=Form1;
  Memo.Top:=10;
  Memo.Left:=10;
  Memo.Height:=300;
  Memo.Width:=500;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Memo.Free;
  CPP.Free;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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