Seite 1 von 1

Editorgadget Code`s im String speichern ?

Verfasst: 20.08.2005 20:26
von xverbatim
Hallo,

ich habe da mal eine Frage zum EditorGadget...

wie könnte ich hier den ganzen Text+Steuercode+Farben und Font in ein String speichern ?

Ich möchte ein Karteikasten erstellen und die Eingaben im EditorGadget im String speichern und dann wieder vom String in den EditorGadget zurückschreiben...
Hat jemand einen Idee, wie ich das Bewerkstelligen kann ?
oder hilfreiche Links ?

In Visual Basic war das RTF-Feld als Text speicherbar oder eben als RTF -Text mit allen Steuercode`s, müßte doch mit Purebasic erst Recht irgendwie gehen oder ?

Danke

xverbatim

Verfasst: 20.08.2005 22:50
von vonTurnundTaxis
GetGadgetText()
SetGadgetText()

` <== das ist kein Apostroph Und wenn, wäre es auch falsch gewesen...!

Verfasst: 20.08.2005 23:19
von zigapeda
aber mit GetGadgetText() bekommt man doch nicht einen text in dem die font usw. schon festgelegt ist oder?
ansonsten mach es hald einfach so:
1. zeichen rote farbe
2. zeichen grüne farbe
3. zeichen blaue farbe
4. zeichen länge vom fontname
inhalt vom 4. zeichen lang: fontname
danach: text

??? sorry, verstehe nicht genau

Verfasst: 21.08.2005 16:17
von xverbatim
Hallo,

irgendwie glaube ich, mein Beitrag ist falsch rübergekommen oder ?

Was ich genau meine ist, ich habe ein RTF Feld bzw. ein EditorGadgetfeld...hier habe ich verschiedene Fonts, verschiedene Farben, verschiedene Schriftgrößen drin..

jetzt möchte ich einfach alles in eine StringVariable packen, also alle Fonts,Schriftgrößen etc und den Text natürlich auch...

dann möchte ich diesen String in einem ListboxGadget speichern...
und dann, wenn ich das ListboxGadget anklicke, den Inhalt wieder in das EditorGadjet schreiben; also auch mit den vorher gespeicherten Font+Größen und Text....

Hat jemand eine Idee ?

zigapeda was Du meintest, verstehe ich leider nicht, kannst Du dich evtl. noch anders ausdrücken !

Gruß+Danke
xverbatim

Verfasst: 21.08.2005 17:01
von zigapeda
aso das macht alles komplizierter.
du kannst ja eine zahl zwischen 0 und 255 speichern (in einem byte oder 8 bit)
chr(255) ist ein zeichen und mit asc([daszeichen]) kann ich den wert wieder auslesen
ich habe gemeint das du alles was du brauchst vorher so speicherst also die rgb werte größe font usw. und hald immer wenn es sich ändert kommt z.B. chr(20) oder so und danach die werte.
Beispiel: (Hallo ist größe 22 farbe rgb 255,0,0 font courier)

chr(20) ; neuer style
chr(22) ; größe
chr(255) ; rotwert
chr(0) ; grünwert
chr(0) ; blauwert
chr(7) ; länge von courier
c
o
u
r
i
e
r ; fontname
H
a
l
l
o ; wort

wenn nach dem hallo in dem speziellen style noch ein / mehrere wörtet mit dem gleichen style kommen musst du nix machen.
wenn sich der style ändert kommt wieder chr(20) und dann eben die anderen style optionen.

Verfasst: 21.08.2005 17:05
von remi_meier

Verfasst: 21.08.2005 17:07
von DarkDragon
:lol: Er will nur sowas wie im PB Editor machen, nur wenn man auf die einzelnen Tabs klickt soll sich nur EIN EditorGadget ändert und es wird nicht für jeden Tab ein neues EditorGadget erstellt.

hhmmm ?!?!

Verfasst: 21.08.2005 17:41
von xverbatim
Hallo,

erstmal Danke für eure Mühe,

der Link von remi_meier..ist schon irgendwie das Richtige nur ich möchte ja nicht das EditorGadget als File auf Festplatte speichern sondern erstmal komplett im ListenGadget;quasi als Datenbank nutzen...und eben später abspeichern...nochmal alle Karteikarten, die ich im EditorGadget speichere will ich in einem String haben...und dann später den Karteikasten(der ja komplett im Listenfeld ist) mit allen Karteikarten speichern...

oder ich mache das wohl so, wie es zigapeda vorgeschlagen hat...
ist aber eine heiden Arbeit, in Visual Basic war das RTF einfacher zu handhaben, da konnte ich das ganze RTF Feld in ein Listenfeld legen und später auch wieder zurückschreiben ohne Probleme, geht wohl nicht so einfach mit Purebasc ;-(
oder etwa doch ?

Gruß
xverbatim

nochmal zur klarheit ;-)

Verfasst: 21.08.2005 18:05
von xverbatim
hi,

habe gerade was gefunden, um mein problem zu verdeutlichen

Code: Alles auswählen

 OpenWindow(0, 200, 200, 400, 200, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"Memory Put")
CreateGadgetList(WindowID())
EditorGadget(0, 0, 0, WindowWidth(), WindowHeight())
SendMessage_(GadgetID(0), #EM_LIMITTEXT, -1, 0)

a.s="{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fswiss\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue0;}"
a=a+"{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\f0\fs20 Hello, this is \cf1\b\fs32 RTF\cf2\b0\fs20  direct!\cf0\par}"
SetGadgetText(0, a)
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
also alles, was ich in meinem EditorGadget eingebe, muß doch irgendwo intern so gespeichert sein, wie in obigem Beispiel der a.s String....
und so wie in a.s will ich es in einem Listenfeld Gadget ablegen und wenn ich dieses dann anklicke, soll der den Inhalt wieder ins EditorGadget zurückschreiben....

Ich hoffe, jetzt sind alle ungereimtheiten beseitigt....

Bitte weiterhin um hilfe...

Danke
xverbatim