Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OpenDialog in SynEdit der ActivePage laden (https://www.delphipraxis.net/98761-opendialog-synedit-der-activepage-laden.html)

XPLOSIV 31. Aug 2007 20:38


OpenDialog in SynEdit der ActivePage laden
 
So da ich gebeten wurde neue Theards für meine Fragen zu erstellen, tue ich das mal, für aussagekräftige Titel kann ich nicht garantieren weil ich ein ziemlicher Noob bin.

Beim OpenDialog soll er den Inhalt der zu ladenen Datei ins SynEdit der aktuellen Seite laden.

Delphi-Quellcode:
begin
OpenDialog1.FileName := SynEdit.Text;
OpenDialog1.Filter := 'NPC-Scripte (.d)|*.d';
  if OpenDialog1.Execute then
SynEdit.Lines.LoadFromFile(OpenDialog1.Filename);
end;

Hoffe jemand kann mir helfen.

sirius 31. Aug 2007 20:59

Re: OpenDialog in SynEdit der ActivePage laden
 
SynEdit scheint ein TEdit zu sein, wenn ich die erste Zeile sehe. In der letzten Zeile sieht es eher wie ein TMemo aus.
Es geht nur eins von beiden. Was ist es nun?

XPLOSIV 31. Aug 2007 21:16

Re: OpenDialog in SynEdit der ActivePage laden
 
Also es ist ein TSynEdit, mag sein das es so aussieht weil ich damals Memo und RichEdit benutzt habe und einfach den Code übernommen habe ;)

sirius 31. Aug 2007 21:19

Re: OpenDialog in SynEdit der ActivePage laden
 
TSynedit kenn ich nicht. Wo kommt denn was für ein Fehler? Und wo ist eigentlich die Frage :gruebel:

XPLOSIV 31. Aug 2007 21:23

Re: OpenDialog in SynEdit der ActivePage laden
 
So wie beim Speichern, Also bei den per Knopfdruck erstellten SynEdit klappt das öffnen wunderbar, doch ich habe noch einen SynEdit (Name= "SynEdit") in TabSheet2, wenn man den Code also so anpassen könnte das wenn die ActivePage TabSheet2 ist, er die Lines von "SynEdit" öffnen soll ?

MfG XPLOSIV

Matze 31. Aug 2007 22:06

Re: OpenDialog in SynEdit der ActivePage laden
 
Hi,

das sinnvollste wäre, nicht ständig auf die VCL zuzugreifen, sondern intern die TabSheets, SyEdits etc. beispielsweise in einem Array zu verwalten, das als Indizes die der TabSheets besitzt. Dann kannst du über den Index (ActivePageIndex oder so ähnlich) auf den Namen des SynEdits schließen und damit wunderbar arbeiten.

Btw. @sirius: Ein SynEdit ist eine Komponente, die sämliche Highlighter für diverse Programmiersprachen beinhaltet. Es ist im Endeffekt sowas, worin du deinen Code in Delphi tippst. Also eher ein TMemo als ein TEdit. Wobei es auch TSynMemo gibt, naja, nur zur groben Vorstellung. *g*

XPLOSIV 1. Sep 2007 00:18

Re: OpenDialog in SynEdit der ActivePage laden
 
Hab ich zwar net verstanden, aber damit sich hier mal was tut hab ich mal was probiert (geht natürlich nicht)

Delphi-Quellcode:
var
MyRichEdit: TSynEdit;
begin
OpenDialog1.FileName := SynEdit.Text;
OpenDialog1.Filter := 'NPC-Scripte (.d)|*.d';
  if OpenDialog1.Execute then
SynEdit.Lines.LoadFromFile(OpenDialog1.Filename);
[b]if ...Exists(MyRichEdit) then begin
MyRichEdit.Lines.LoadFromFile(OpenDialog1.Filename)[/b]
end;
Was Sollte ich hinter Exists schreiben ? Würde das überhaupt funktionieren ? Falls nicht, bitte funktionierende liefern.


MfG XPLOSIV

marabu 1. Sep 2007 07:13

Re: OpenDialog in SynEdit der ActivePage laden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

Zitat:

Zitat von XPLOSIV
... Falls nicht, bitte funktionierende liefern.

ob diese Formulierung so gut ist? Du willst Geschenke und verwendest das Wort "liefern".

Hier mein Geschenk für dich.

Freundliche Grüße

XPLOSIV 2. Sep 2007 17:59

Re: OpenDialog in SynEdit der ActivePage laden
 
Gut, es funtzt schon ein wenig, ich habe das mit den FileOpen und so hingekriegt (Danke an Marabu ;) ), aber speichern unf close funktioniert noch nicht, doch (auf Daniel guck) ich habe ja dazu gelernt und mache pro Frage ein Thema ;)


Hat sich erledigt.


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