Mehrzeilige Anweisungen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Little John

Beitrag von Little John »

2Hellhound66:
Ach so -- das hatte ich falsch verstanden. Alles klar.

Gruß, Little John
Benutzeravatar
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

Beitrag von ts-soft »

Vielleicht solltest Du für die zusammengesetzten Strings, die Anzahl
Leerzeilen einfügen, die entfallen, so das der Debugger richtige Angaben
macht.

Hab Deinen Code aber nocht nicht getestet :oops: , werds aber noch nachholen.

Gruß
Thomas
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.
Bild
Little John

Beitrag von Little John »

ts-soft hat geschrieben:Vielleicht solltest Du für die zusammengesetzten Strings, die Anzahl
Leerzeilen einfügen, die entfallen, so das der Debugger richtige Angaben
macht.
Hab' ich doch gemacht (wahrscheinlich könnte der Kommentar aussagekräftiger sein) :)

Code: Alles auswählen

For i = 1 To joined                   ; Zeilennummern der folgenden
   WriteStringN(#ofn, "", encoding)   ; Anweisungen beibehalten
Next
ts-soft hat geschrieben:Hab Deinen Code aber nocht nicht getestet :oops: , werds aber noch nachholen.
Das würde mich freuen.

Gruß, Little John
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

auf zeilen-verbindungs-zeichen zu verzichten, würde bedeuten zeilen-trenn-zeichen einzuführen.
so wie das ";" bei C
für PB würde sich da der ":" anbieten, der sowieso schon als trennzeichen innerhalb einer zeile fungiert.
ob die Label-Konvention dann zu überarbeiten wäre, muss man schaun.

ob es möglich wäre, das komplett ohne zu machen, wäre denkbar,
aber bestimmt sehr kompliziert und fehleranfällig.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
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

Beitrag von ts-soft »

Funktioniert wunderbar thx :allright:
Debugger erkennt auch die "korrekte" Zeile

Gruß
Thomas
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.
Bild
Benutzeravatar
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

Beitrag von ts-soft »

Code: Alles auswählen

Char = ';'
erzeugt eine Fehlermeldung
---------------------------
PureBasic
---------------------------
Zeile 1: Numbers between '' are limited to 8 characters
---------------------------
OK
---------------------------
Gruß
Thomas
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.
Bild
Little John

Beitrag von Little John »

ts-soft hat geschrieben:

Code: Alles auswählen

Char = ';'
erzeugt eine Fehlermeldung
Ooops! Sowas kann man in PureBasic schreiben? Ich finde das gut, wusste aber nicht, dass es möglich ist (nachdem ich -- wie ich zumindest dachte -- alle allgemeinen Themen in der aktuellen Hilfe gelesen hatte). Vielen Dank für den Hinweis! :allright:
Ich habe im Ursprungspost den Code von Haupt- und Demoprogramm entsprechend geändert. Außerdem fehlte das Apostroph in der Liste der Symbole, die unmittelbar vor dem _ stehen können, ohne dessen Interpretation als Zeilenverbindungszeichen aufzuheben.

Gruß, Little John
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Steht das überhaupt in der Hilfe ?
Ich habe diesen Kniff mal irgendwann in nem Code von NicTheQuick gesehn und möchte dieses Feature auch nicht mehr missen.
Little John

Beitrag von Little John »

Nee, ich glaube das steht wirklich nicht in der Hilfe.

Gruß, Little John
Benutzeravatar
Mr.X
Beiträge: 66
Registriert: 10.08.2005 22:46
Wohnort: im schönen OWL

Beitrag von Mr.X »

um an das Posting von Kaeru Gaman anzuknüpfen. Ich unterstütze ebenfalls die Variante mit dem 'Zeilenverbindungszeichen(z.B. "_") am Anfang einer Zeile.

Jede Anweisung mit einem Anweisungsendezeichen abzuschließen halte ich aus folgenden Gründen nicht für Vorteilhaft:

(1a) Alle existierenden Programme müßten vor der Neu-Compilierung mit einem Anweisungsendezeichen versehen werden. Das ist ein riesen Aufwand bei größeren Projekten.

(1b) Bestehende Programme können - aber müssen nicht - überarbeitet werden um überlange anweisungen zu trennen.

(2) Fehleranfälligkeit der Source-Files. Wie schnell vergißt man das Anweisungsendezeichen zu schreiben. Habt Ihr schon mal in einem mehrere tausend Zeilen umfassenden Programm nach einem fehlenden Semikolon gesucht? Ich erinnere mich noch gut an alte Zeiten mit (Turbo-)PASCAL oder auch mit C (vor C++).

[3] Alle fehlenden Argumente anderer Nutzer seien hier zusammengefaßt.

Fazit: Der "_" als Zeilenverbindungszeichen erhält meine volle Unterstützung. Auch, wenn ich selbst fast alle Programme überarbeiten müßte, da ich den "_" oft als ersten Zeichen für bestimmte Variablennamen verwende. Aber das ist nur ein Durchlauf mit Suchen-und-Ersetzen.[/b]

Mr.X
Antworten