Editorgadget Code`s im String speichern ?

Anfängerfragen zum Programmieren mit PureBasic.
xverbatim
Beiträge: 88
Registriert: 20.08.2005 20:19

Editorgadget Code`s im String speichern ?

Beitrag 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
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

GetGadgetText()
SetGadgetText()

` <== das ist kein Apostroph Und wenn, wäre es auch falsch gewesen...!
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
xverbatim
Beiträge: 88
Registriert: 20.08.2005 20:19

??? sorry, verstehe nicht genau

Beitrag 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
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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.
Zuletzt geändert von zigapeda am 21.08.2005 17:09, insgesamt 1-mal geändert.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
xverbatim
Beiträge: 88
Registriert: 20.08.2005 20:19

hhmmm ?!?!

Beitrag 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
xverbatim
Beiträge: 88
Registriert: 20.08.2005 20:19

nochmal zur klarheit ;-)

Beitrag 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
Antworten