Befehl über mehrere Zeilen
-
- Beiträge: 47
- Registriert: 21.02.2010 13:02
Befehl über mehrere Zeilen
Guten Abend,
kann mir jemand von euch verraten wie ich eine Abfrage von Befehlen z.B. mehrere hintereinander laufende OR-Abfragen die sich zu sehr in die Breite zieht mit Zeilenumbruch verabeiten kann. Ich kann leider in der Hilfe nichts finden.
Danke euch im Vorrauss.
kann mir jemand von euch verraten wie ich eine Abfrage von Befehlen z.B. mehrere hintereinander laufende OR-Abfragen die sich zu sehr in die Breite zieht mit Zeilenumbruch verabeiten kann. Ich kann leider in der Hilfe nichts finden.
Danke euch im Vorrauss.
Re: Befehl über mehrere Zeilen
Direkt wie z.B in anderen Sprachen mit "& _" ist leider nicht möglich. Du kannst aber versuchen, deine If-Bedingung aufzusplitten (mehrere Bedingungen verschachteln) oder versuchen, kürzere Variablennamen zu verwenden, falls diese zu lang sind.
Re: Befehl über mehrere Zeilen
Diese Frage hat sich wohl schon jeder hier gestellt. Ich verstehe nicht, warum hier nicht endlich eine Lösung angeboten wird. So schwer kann es ja eigentlich nicht sein.
(Win 11 64-bit, PB 6.04 und 6.10)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Befehl über mehrere Zeilen
Code: Alles auswählen
EnableExplicit
Define result, wrapmode
Define Scintilla = Val( GetEnvironmentVariable("PB_TOOL_Scintilla") )
If Scintilla
SendMessageTimeout_(Scintilla, #SCI_GETWRAPMODE, 0, 0, #SMTO_ABORTIFHUNG, 2000, @result)
If result = 0
wrapmode = 1 ; 1 = wrap at word boundary
; 2 = wrap at character boundary (for asian languages without spaces)
Else
wrapmode = 0
EndIf
; by DoubleDutch, add visual marker and indent wrapped line
; http://www.purebasic.fr/english/viewtopic.php?f=18&t=30385
; http://forums.purebasic.com/german/viewtopic.php?f=16&t=25933&start=28
SendMessageTimeout_(Scintilla, #SCI_SETWRAPVISUALFLAGS, #SC_WRAPVISUALFLAG_START, 0, #SMTO_ABORTIFHUNG, 2000, @result)
SendMessageTimeout_(Scintilla, #SCI_SETWRAPSTARTINDENT, 16, 0, #SMTO_ABORTIFHUNG, 2000, @result) ; <-- indent amount
SendMessageTimeout_(Scintilla, #SCI_SETWHITESPACEFORE, #True, RGB($70, $50, $d0), #SMTO_ABORTIFHUNG, 2000, @result) ; <-- colour of marker
#SCI_SETWRAPINDENTMODE = 2472
#SC_WRAPINDENT_FIXED = 0 ; Wrapped sublines aligned To left of window plus amount set by SCI_SETWRAPSTARTINDENT
#SC_WRAPINDENT_SAME = 1 ; Wrapped sublines are aligned To first subline indent
#SC_WRAPINDENT_INDENT = 2 ; Wrapped sublines are aligned To first subline indent plus one more level of indentation
SendMessageTimeout_(Scintilla, #SCI_SETWRAPINDENTMODE, #SC_WRAPINDENT_INDENT, 0, #SMTO_ABORTIFHUNG, 2000, @result) ; <-- indent mode
#SC_WRAPVISUALFLAGLOC_DEFAULT = 0 ; Visual flags drawn near border
#SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 1 ; Visual flag at End of subline drawn near text
#SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 2 ; Visual flag at beginning of subline drawn near text
SendMessageTimeout_(Scintilla,#SCI_SETWRAPVISUALFLAGSLOCATION, 2, 0, #SMTO_ABORTIFHUNG, 2000, @result) ; <-- marker location
SendMessageTimeout_(Scintilla, #SCI_SETWRAPMODE, wrapmode, 0, #SMTO_ABORTIFHUNG, 2000, @result)
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Befehl über mehrere Zeilen
@ts-soft
Nicht zu empfehlen! Mit diesem Tool kannst du deine Quellcodes teilweise zerstören, weil er mit einigen Befehlen/Funktionen nicht klar kommt.
Ich weiß leider nicht mehr welche Befehle das waren, aber wenn man diese im Editor eintippt, dann stürzt PB ohne Meldung ab und dein Quellcode ist eventuell durcheinander gewürfelt. Ich werd' zu Hause nochmal testen und hier posten, welche Funktionen das waren.
Seitdem nutze ich sowas auf keinen Fall mehr. Ist zwar eine nette Funktion, aber in Verbindung mit PB sehr instabil.
Nicht zu empfehlen! Mit diesem Tool kannst du deine Quellcodes teilweise zerstören, weil er mit einigen Befehlen/Funktionen nicht klar kommt.
Ich weiß leider nicht mehr welche Befehle das waren, aber wenn man diese im Editor eintippt, dann stürzt PB ohne Meldung ab und dein Quellcode ist eventuell durcheinander gewürfelt. Ich werd' zu Hause nochmal testen und hier posten, welche Funktionen das waren.
Seitdem nutze ich sowas auf keinen Fall mehr. Ist zwar eine nette Funktion, aber in Verbindung mit PB sehr instabil.
Re: Befehl über mehrere Zeilen
Neben Abstürzen nach Eingabe bestimmter Befehle ist es außerdem mit diesem Wrap-Tool sehr ärgerlich, wenn andere Zeilen automatisch geändert/durchgewürfelt werden.
Beispiel 1: http://www.file-upload.net/download-684 ... 1.avi.html
Beispiel 2: http://www.file-upload.net/download-684 ... 2.avi.html
Ich musste damals einmal eine komplette Datei fixen, weil ich zu spät sah, dass die Zeilen bei eingeschalter Wrap-Funktion geändert werden, weil PB anscheinend damit nicht klar kommt. Daher lieber Finger weg!
Beispiel 1: http://www.file-upload.net/download-684 ... 1.avi.html
Beispiel 2: http://www.file-upload.net/download-684 ... 2.avi.html
Ich musste damals einmal eine komplette Datei fixen, weil ich zu spät sah, dass die Zeilen bei eingeschalter Wrap-Funktion geändert werden, weil PB anscheinend damit nicht klar kommt. Daher lieber Finger weg!
Re: Befehl über mehrere Zeilen
Geht das nicht mit Data?
Code: Alles auswählen
Restore StringData
Read.s MyFirstData$
Read.s MySecondData$
MessageRequester("Test ABC", MyFirstData$ + MySecondData$)
End
DataSection
StringData:
Data.s "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Data.s "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
EndDataSection
Re: Befehl über mehrere Zeilen
Ich dachte eigentlich, dass das PB-Team hier Abhilfe schaffen würde. Es wird langsam Zeit, denke ich...
(Win 11 64-bit, PB 6.04 und 6.10)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Befehl über mehrere Zeilen
Macht auch mehr Sinn, wenn der Compiler das unterstützt. Rein visueller Umbruch, denSebastian hat geschrieben:Ich dachte eigentlich, dass das PB-Team hier Abhilfe schaffen würde. Es wird langsam Zeit, denke ich...
man nicht selbst bestimmen kann, bringt nicht viel, deshalb hab ich obigen Code auch
kaum Getestet.
Code: Alles auswählen
Procedure Bla(parameter1.i, _ ; anzahl gummienten
parameter2.i = #PB_Ignore, _ ; optionale grösse
parameter3.s = "") ; namen der gummienten
; ... code
EndProcedure

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Befehl über mehrere Zeilen
Gibt es irgendwo eine "Most Wanted Liste"?
(Win 11 64-bit, PB 6.04 und 6.10)