Wo ist der Speicherbereich eines EditorGadgets?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Wo ist der Speicherbereich eines EditorGadgets?

Beitrag von Eckhard.S »

Erstmal vielen Dank an alle Beteiligten, die sich bisher um meine Fragen zum EditorGadget gekümmert haben. Ich mache eine letzten Ansatzversuch, ob es nicht doch möglich ist mit der DemoVersion 4.0 (no Win32 API support) aus einem EditorGadget die Zeichen auszulesen, auch wenn es ausländische Sonderzeichen sind (hier z.B. Esperanto).

Zur Info: Da die komplette Weiterverarbietung in (schlankem, plattformunabhängigem) Ascii erfolgt, soll keine unicode-exe, sondern eine normale-exe erstellt werden.
Für die Sonderzeichen (Buchstaben mit Dach) gibt es eine Ersatzschreibweise z.B. statt alpuŝiĝi wird alpu^si^gi verwendet.

Was mich freut ist, dass man auch mit der DemoVersion mit RTF zumindest schon mal alpuŝiĝi in ein EditotGadget schreiben kann. Schön wäre, wenn ich es auch wieder auslesen könnte, um Texte mit Sonderzeichen, die jemand einkopiert, auch zu verarbeiten. Wenn es nicht geht, dann muss man halt die Ersatzschreibweise eintippen.

Doch nun genug der Vorrede.
Die erste Frage vielleicht: Was ist API? (wo gibt es eine für Anfänger simple Erklärung?)

Zweite Frage: Wenn in einem EditorGadget Zeichen stehen, so sind sie doch sicherlich irgendwo auch in einem Speicherbereich abgelegt. Kommt man da nur mit API heran oder gibt es dafür auch eine Möglichkeit mit Peek?

Hier nochmal mein Code, der bei Buttondruck, den Text auslesen und kompieren soll. Mit GetGadgetText gehen ja leider die Überzeichen verloren.

Code: Alles auswählen

;PB4 
; ************* Variables ************* 

        Fensterueberschrift$ = "Unicode-Test" 
              Button_1     = 20   ; Button-ID 
                                                      
        Global FontID1 
        FontID1 = LoadFont(1, "Courier", 10)    ; Font für die Darstellung 

;RTF- Test 
text$="{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Arial;}}" 
text$=text$ + "{\colortbl ;\red0\green0\blue0;}" 
text$=text$ + "\viewkind4\uc1\pard\ltrpar\cf1\f0\fs20 Unicode: \u264?\u284?\u292?\u308?\u348?\u364?\u265?\u285?\u293?\u309?\u349?\u365?\cf0\f1\par " 
text$=text$ + "}" 
  

      
; ************* Mainprogram ************* 

If OpenWindow(0, 1, 1, 800, 350, Fensterueberschrift$,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar ) 
SetWindowColor(0,RGB(100, 150, 100)) 
CreateGadgetList(WindowID(0)) 
      EditorGadget(1, 20, 50, 650, 110)  ;#PB_Editor_ReadOnly 
      SetGadgetFont(1, FontID1) 
      EditorGadget(2, 20, 160, 650, 110);#PB_Editor_ReadOnly 
      SetGadgetFont(2, FontID1) 
      ButtonGadget(Button_1, 650+25, 130, 100, 20, "Copy") 
      SetGadgetText(1, text$)          
Repeat 
 Select WaitWindowEvent() 
   Case #PB_Event_CloseWindow 
        Break 
        
    Case #PB_Event_Gadget 
      Select EventGadget() 
      
         Case Button_1 
          
            text_eingabe$ = GetGadgetText(1)    ; Funktioniert aber ohne Sonderzeichen 
            SetGadgetText(2, text_eingabe$)     ; Funktioniert aber ohne Sonderzeichen            


            
         EndSelect 
        
  EndSelect 
ForEver 

EndIf ; Open Window 

End 
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Die Lösung ist gefunden, hurra!

Dank Edel und ts-soft. Ihr seid Klasse!

Siehe
http://www.purebasic.fr/german/viewtopi ... 781#105781
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Du oller Geizknüppel könntest allerdings auch mal eben die paar
Euronen für 'ne Vollversion abdrücken, find ich mal so unverbind-licherweise.

Das spart Dir viel Aufwand und dann beantwortet Dir auch vielleicht
jemand Deine Fragen :)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Danke für die Erinnerung, Bobobo! :allright:

Ja, jetzt ist es ein guter Zeitpunkt die "Probefahrt" zu beenden.
Eben habe ich die Vollversion bestellt und online überwiesen. 8)
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Eben habe ich die Vollversion bestellt

willkommen im Club! :allright:
a²+b²=mc²
Antworten