Seite 1 von 2
Fragen zu StringGadget
Verfasst: 30.12.2007 17:00
von Joel
Hallo,
Wenn ich ein String Gadget erzeuge und einen Text hinein schreibe wird der Text zwar geschrieben aber wenn die Zeile voll ist dann kann ich nicht mehr in die Zeile schreiben.
1. Wie schaffe ich es dass wenn ein Wort in einem StringGadget nicht mehr in eine Zeile passt das Wort in die nächste Zeile Rutschen zu lasse?
2. Wie lasse ich den Cursor wenn ich auf Enter drücke in die nächste Zeile Rutschen.
Hier im Antwortfeld sind die Funktionen ja auch eingebaut.
Verfasst: 30.12.2007 17:16
von STARGÅTE
Code: Alles auswählen
StringGadget(Nummer,x,y,Breit,Hoch,"",#PB_String_Multiline|#WS_VSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
Verfasst: 30.12.2007 17:24
von edel
#PB_String_Multiline gibt es in der Version 4 nicht mehr. Alternativ
unter Windows #es_multiline. Aber nimm lieber gleich nen Editorgadget
Verfasst: 30.12.2007 17:30
von STARGÅTE
lol dann hat
Code: Alles auswählen
#PB_String_Multiline = 4
StringGadget(Nummer,x,y,Breit,Hoch,"",#PB_String_Multiline|#WS_VSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
^^
jo stimmt das Editorgadget gibs ja jetzt ^^
Verfasst: 30.12.2007 17:39
von Joel
Ok, Danke für die Hilfe, Es Klappt!
Verfasst: 30.12.2007 19:25
von Joel
Ich habe noch eine Frage: Ich habe 3 StringGadget Felder und habe den Inhalt der Felder ermittelt. Dannach möchte ich die 3 Felder in einem StringGadget alle zusammen wieder ausgeben, aber so das jedes Feld in einer Zeile weiter unten ist.
Also Feld 1 ist später in Zeile 1
Feld 2 ist nachher in Zeile 2
Und bei Feld 3 soll der Text nachher in Zeile Nummer 4 sein.
Wie mach ich das?
Hier der Code damit ihr wisst was ich meine:
Code: Alles auswählen
If OpenWindow(0, 210, 0, 808, 609, "Test",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget )
If CreateGadgetList(WindowID(0))
#PB_String_Multiline = 4
StringGadget(0, 100, 50, 240, 30, "", #PB_String_Multiline|#WS_VSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
StringGadget(80, 100, 10, 240, 30, "", #PB_String_Multiline|#WS_VSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
ButtonGadget(22, 130, 530, 70, 50, "Ausgabe")
StringGadget(3, 360, 10, 330, 25, "", #PB_String_Multiline|#WS_VSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 22
a$ = GetGadgetText(80)
b$ = GetGadgetText(3)
c$ = GetGadgetText(0)
#PB_String_Multiline = 4
OpenWindow(1, 210, 0, 808, 609, "Presse-Tool",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget )
If CreateGadgetList(WindowID(1))
StringGadget(1, 1, 1, 808, 609, "", #PB_String_Multiline|#WS_VSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
SetGadgetText(1, a$+b$+c$)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
EndIf
Habe es schon mit Chr(10) probiert aber da kommt dann nur ein komisches Quadratisches Zeichen statt die Nächste Zeile.
Verfasst: 30.12.2007 19:29
von PureLust
Dazu musst Du einfach nur die Steuerzeichen für einen Wagenrücklauf
und einen Zeilenumvorschub einfügen (Konstante: #CRLF$).
Also:
Gruß, PL.
[Edit:] @Thomas
Auch in einem EditorGadget muss er #CRLF$ verwenden um einen Zeilenumbruch zwischen 2 Strings zu erhalten.
Verfasst: 30.12.2007 22:51
von Thomas
Wieso verwendest du kein Editor-Gadget?
Verfasst: 02.01.2008 21:51
von Joel
Hallo,
Ich habe noch eine Frage und habe den Titel mal in "Fragen zu Stringgadget" umgeändert.
Mein Programm rechnet zusammen welche Texte Ausgegeben werden und welche nicht.
Ich mach mal ein Beispiel:
Code: Alles auswählen
a$ = "test"
b$ = "test2+a$+test2"
c$ = test3+b$+test3"
StringGadget(1, "c$")
Wenn man dieses Programm ausführt wird in dem StringGadget() : "test3+b$+test3" Ausgegeben. Normal müsste aber: "test3test2testtest2test3" Ausgegeben werden.
Wie sage ich PB das es wenn ich b$ = a$ schreibe dass es dann a$ in "Test" übersetzt und nicht in a$ Übersetzt?
Ich muss in meinem Programm so viele Strings haben weil der Ausgabetext: 1000 verschiedene Kombinationsmöglichkeiten haben kann und den Text, Wort für Wort zusammensetzt, jenachdem was man vorher eingestellt hat.
Verfasst: 02.01.2008 22:09
von marco2007
Code: Alles auswählen
a$ = "test"
b$ = "test2"+a$+"test2"
c$ = "test3"+b$+"test3"
setgadgettext(1, c$)