Ein Sack voller Anfängerfragen

Anfängerfragen zum Programmieren mit PureBasic.
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Ein Sack voller Anfängerfragen

Beitrag von Andesdaf »

Domino hat geschrieben:Kontextsensitive GUI ist wünschenswert, worin ähnlich wie im CSS-Flexbox-Modell die Elemente ihre Abmessungen ausdehnen, wie Platz vorhanden ist. Rudimentäre Umsetzung mit PB-Quelltext erprobe ich gerade per Ereignisschleife. Diese Funktion sollte aber automatisiert werden können und innerhalb PB in C oder gleich ASM vorliegen.
Schau mal bei http://www.purebasic.com/documentation/ ... index.html. Erfordert etwas Umdenken,
ich benutze die Dialog-Lib für ein recht GUI-Intensives Projekt und bin ganz zufrieden damit.
Win11 x64 | PB 6.20
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

Re: Ein Sack voller Anfängerfragen

Beitrag von ts-soft »

mhs hat geschrieben:In der Gadgetübersichtsseite der Hilfe und der Einzelbeschreibung werden kleine Abbildungen der jeweiligen Gadgets angezeigt.
Aber nur unter Windows, unter Linux gibt es keine Bilder, leider.
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
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Nino:
Nino hat geschrieben:
Domino hat geschrieben:TextGadget: Steht so nicht in der Offline-Hilfe; sollte also ergänzt werden.
Fühl dich frei, das im passenden Unterforum vorzuschlagen.
Sehr sinnvoller Vorschlag. Was steht denn in meinem Einleitungsbeitrag ganz unten?
Nino hat geschrieben:
Domino hat geschrieben:Maskierte Zeichen: Muß ich demnächst probieren und gehört ebenfalls in die Offline-Hilfe.
Steht da ja auch.
Es wäre nicht schlecht, die Offline-Hilfe mit ein paar Suchbegriffen anzureichern. Nach "Maskierung" gesucht, findet die nämlich nichts. '~"' liefert sinnvolle Ergebnisse, doch dazu muß man erst einmal wissen, was das Ergebnis der Suche ist, was diese unsinnig macht.

mk-soft:
mk-soft hat geschrieben:Kleines Beispiel...
"EnableExplicit" sollte man immer verwenden. Zwingt eine dazu alles Variablen zu deklarieren und somit eine unnötige Fehlersuche nach falsch geschriebenen Variablen...
Ist bereits bekannt, wie aus meinem Einleitungsbeitrag ersichtlich ist. EnableExplicit verwende ich fast immer.

Kurzer:
Kurzer hat geschrieben:
Domino hat geschrieben:Warum muß man Prozeduren deklarieren? Kann der Compiler den Quelltext nicht überblicken?
Hallo Domino, das hatte mich irgendwann auch genervt. Kann man aber Abhilfe schaffen.
Vielen Dank für diese Arbeitserleichterung! Derzeit und am aktuellen Projekt reicht die händische Deklaration zwar noch aus, aber es ist immer gut, für größere Aufgaben gewappnet zu sein. So gefällt mir die Zusammenarbeit in einem Programmierforum. ;-)

Omi:
Omi hat geschrieben:Grad mal zum Editor:
Das Problem mit [Return] und [Tab] betrifft die aktuelle Linux-5.41-Beta und sollte mit der kommenden Version bereits gefixt sein.
Das Problem mit den Editor-Tabs (die Reiter / Schaltfläche) ist bereits als Bug gemeldet, tritt aber sehr sporadisch, erst nach einiger Laufzeit oder gar nicht und rechnerabhängig auf und konnte scheinbar von Fred noch nicht brauchbar nachvollzogen werden. ...
Ein geteiltes Fenster (Mehrfachansicht eines Codes) wurde auch schon in der Wishlist gepostet und ist fast unverzichtbar wenn man's mal gewöhnt ist.
Gut, ich versuche es einmal mit der 5.41 beta 4. Vielleicht sind da ja schon einige Fehler der GUI beseitigt. Schön zu lesen, daß meine Beobachtungen bekannt sind und nicht als Motzerei eines Neulings abgetan werden.

mhs:
mhs hat geschrieben:
Domino hat geschrieben:Links funktionieren nicht im Fließtext. Themen sind nur umständlich über "Inhalte" oder "Suche" zu finden.
Du kannst für jedes Schlüsselwort direkt mit F1 suchen, wenn der Cursor darauf steht.
Ist zwar bekannt, aber nicht die Antwort auf die Feststellung.
mhs hat geschrieben:

Code: Alles auswählen

... Es ist auch möglich, mit dem Array-Schlüsselwort ein Array als Parameter an eine Prozedur zu übergeben - es wird dabei "by reference" (was bedeutet, dass das Array nicht kopiert wird, sondern stattdessen die Funktionen in der Prozedur das originale Array manipulieren) übergeben. ...
Richtig, steht in der Offline-Hilfe - allerdings in "Dim" und nicht in "Procedure" und "Array", wo ich nach der Info suchte. Es unterstreicht die Notwendigkeit einer Überarbeitung der deutschen Hilfe.
mhs hat geschrieben:
Welche Reihenfolge von "Define", "Declare" und "Dim" ist notwendig bei Verwendung von EnableExplicit und Prozeduren mit Zeichenkettenfeldern?
Die Reihenfolge habe ich mir durch Ausprobieren erarbeitet und so brauche ich keine Hilfe mehr in diesem speziellen Fall. Allerdings steht diese Feststellung auch als Punkt einer nötigen Präzisierung der Hilfe.
mhs hat geschrieben:
Grafiken für das Aussehen der Gadgets sollten auf der Gadget-Übersichtsseite dargestellt sein, damit man den richtigen Typ nicht erst in den Einzelbeschreibungen suchen muß; dort fehlen auch Abbildungen.
In der Gadgetübersichtsseite der Hilfe und der Einzelbeschreibung werden kleine Abbildungen der jeweiligen Gadgets angezeigt.
Das stimmt nicht für die Linux-Version, mit der ich arbeite, wie Du anhand meiner Signatur sehen kannst. Auch Nic hat das schon festgestellt. Wie das bei Windows oder MacOS aussieht, weiß ich nicht. Windows habe ich vor Jahren von allen meinen Rechnern verabschiedet.
mhs hat geschrieben:In Englisch wird programmiert. Kommentare entweder auch in Englisch oder der eigenen Muttersprache.
Falsch! Englisch sind allenfalls die Schlüsselwörter. Variablennamen, Kommentare und Programmausgaben sind entweder Englisch oder die Muttersprache des Programmierers oder die des Anwenders. Mit der Einstellung, dem Englischen nicht zu huldigen, stehe ich wohl allein da. Egal, es ist meine Meinung und die wird von den Machern und Nutzern anderer Sprachen geteilt.
mhs hat geschrieben:
Es sollten endlich Felder aus Prozeduren und Unterroutinen zurückgegeben werden dürfen.
Kannst du doch, als Parameter by Reference. Wo ist das Problem? Vergleich es mal mit C. Pointer auf Pointer? Was ist einfacher?
Thema verfehlt. Es ging um zurückzugebende Felder, nicht um die Nutzung eines bereits übergebenen Feldes als Ausgabe.

Nic:
Einer, der mich versteht. :-) Das Herumgekasper mit der Offline-Hilfe auf Linux habe ich satt. Habe mir per

Code: Alles auswählen

wget -r -k -p -X "http://www.purebasic.com/download/" -t 0 http://www.purebasic.com/german/documentation/
die Online-Hilfe heruntergeladen. Da sind wenigstens einige Bildchen drin. Aber Leute, das ist nur die Unterdrückung von Symptomen, keine ursächliche Fehlerbeseitigung oder Verbesserung! Zwischenzeitlich Volumen aufgebraucht :-[
NicTheQuick hat geschrieben:Das hab ich nicht ganz verstanden. "Schritt darüber"?
Das ist die Funktion "Schritt darüber", wie es im Menü "Debugger" steht, ähnlich F11 für "Schritt heraus".

Nino:
Nino hat geschrieben:Die Syntax von PB ändern, um das Schreiben von solch schlecht lesbarem Code zu ermöglichen?
Nein danke!
Ok, Syntax muß man nicht zwingend ändern. War ja auch nur eine Frage. Schlecht lesbar ist so ein Code aber mit Sicherheit nicht. Ich liebe einen kompakten Stil wie dieses:

Code: Alles auswählen

$db = openDatabase();
$SQL = "SELECT * FROM tabelle WHERE ID='$blabla' ORDER BY IQ DESC";
if (($res = mysqli_query($db, $SQL)) !== false) {
  while (($row = mysqli_fetch_assoc($res)) !== null) {
    // blabla
  }
}
Der ist definitiv übersichtlich, gut lesbar und drum sehr guter Stil. Wenn Du das als Basic-Programmierer nicht nachvollziehen kannst, so darfst Du mir trotzdem meine Meinung dazu lassen.
Nino hat geschrieben:Die Werte der in PB verwendbaren Konstanten findet man in der IDE unter "Werkzeuge" > "Strukturverzeichnis" > "Konstanten".
Ah, gut versteckt. Danke dafür. Die Liste sollte in die Hilfe eingebaut werden, evtl. thematisch unterteilt.

Gruß
Domino
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Ein Sack voller Anfängerfragen

Beitrag von NicTheQuick »

Domino hat geschrieben:Falsch! Englisch sind allenfalls die Schlüsselwörter. Variablennamen, Kommentare und Programmausgaben sind entweder Englisch oder die Muttersprache des Programmierers oder die des Anwenders. Mit der Einstellung, dem Englischen nicht zu huldigen, stehe ich wohl allein da. Egal, es ist meine Meinung und die wird von den Machern und Nutzern anderer Sprachen geteilt.
Kommentare und Programmausgaben kannst du jeder Sprache formulieren, die du möchtest. Mit UTF8 und UFT16 kommt Purebasic zurecht. Dafür solltest du deine Quellcodes in UTF8 abspeichern und in den Compiler-Optionen Unicode aktivieren. Variablen-, Procedure-, Structure-, Interface-, Module-, Label-, Array-, Listen- und Mapnamen bleibent trotzdem bei a-zA-Z0-9_. :wink:
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Andesdaf hat geschrieben:
Domino hat geschrieben:Kontextsensitive GUI ist wünschenswert, worin ähnlich wie im CSS-Flexbox-Modell die Elemente ihre Abmessungen ausdehnen, wie Platz vorhanden ist. Rudimentäre Umsetzung mit PB-Quelltext erprobe ich gerade per Ereignisschleife. Diese Funktion sollte aber automatisiert werden können und innerhalb PB in C oder gleich ASM vorliegen.
Schau mal bei http://www.purebasic.com/documentation/ ... index.html. Erfordert etwas Umdenken,
ich benutze die Dialog-Lib für ein recht GUI-Intensives Projekt und bin ganz zufrieden damit.
Danke, Andesdaf! So kann man die GUI wesentlich besser aufgeräumt schreiben. Werde dieses Dialog-Dingens demnächst ausprobieren.

Gruß
Domino
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Ein Sack voller Anfängerfragen

Beitrag von Nino »

Domino hat geschrieben:Nino:
Nino hat geschrieben:
Domino hat geschrieben:TextGadget: Steht so nicht in der Offline-Hilfe; sollte also ergänzt werden.
Fühl dich frei, das im passenden Unterforum vorzuschlagen.
Sehr sinnvoller Vorschlag. Was steht denn in meinem Einleitungsbeitrag ganz unten?
Da steht, dass andere das für dich erledigen sollen. Und ich habe versucht dich darauf hinzuweisen, dass es hier eher üblich ist dass jeder seine Angelegenheiten selbst erledigt; und habe dir den passenden Ort dafür gezeigt.
Domino hat geschrieben:
Nino hat geschrieben:
Domino hat geschrieben:Maskierte Zeichen: Muß ich demnächst probieren und gehört ebenfalls in die Offline-Hilfe.
Steht da ja auch.
Es wäre nicht schlecht, die Offline-Hilfe mit ein paar Suchbegriffen anzureichern. Nach "Maskierung" gesucht, findet die nämlich nichts. '~"' liefert sinnvolle Ergebnisse, doch dazu muß man erst einmal wissen, was das Ergebnis der Suche ist, was diese unsinnig macht.
Eine ausführliche Erklärung dazu findet sich im Kapitel "Allgemeine Syntax-Regeln". Wenn man sich neu mit einer Programmiersprache beschäftigt, kann es nicht direkt schaden sich sowas durchzulesen.
Domino hat geschrieben:Nino:
Nino hat geschrieben:Die Syntax von PB ändern, um das Schreiben von solch schlecht lesbarem Code zu ermöglichen?
Nein danke!
Schlecht lesbar ist so ein Code aber mit Sicherheit nicht.
So ein Code ist für mich mit Sicherheit schlecht lesbar, unahängig davon ob du das verstehst.
Domino hat geschrieben:Wenn Du das als Basic-Programmierer nicht nachvollziehen kannst, so darfst Du mir trotzdem meine Meinung dazu lassen.
Habe ich auch nur ansatzweise versucht, dir deine Meinung nicht zu lassen :?:
Was sollen solche Unterstellungsversuche?
Das Problem ist hier offensichtlich, dass Du es nicht vertragen kannst wenn jemand eine andere als deine Meinung vertritt.
Domino hat geschrieben:
Nino hat geschrieben:Die Werte der in PB verwendbaren Konstanten findet man in der IDE unter "Werkzeuge" > "Strukturverzeichnis" > "Konstanten".
Ah, gut versteckt. Danke dafür. Die Liste sollte in die Hilfe eingebaut werden, evtl. thematisch unterteilt.
Am besten schreibst du die PB-Hilfe so um, wie sie für dich persönlich am sinnvollsten ist. Nur solltest du dich nicht wundern, wenn andere Leute dann nicht das finden, wonach sie suchen. ;-)
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Nino hat geschrieben:Was sollen solche Unterstellungsversuche?
Das Problem ist hier offensichtlich, dass Du es nicht vertragen kannst wenn jemand eine andere als deine Meinung vertritt.
...
Am besten schreibst du die PB-Hilfe so um, wie sie für dich persönlich am sinnvollsten ist. Nur solltest du dich nicht wundern, wenn andere Leute dann nicht das finden, wonach sie suchen. ;-)
Ich bin neu hier und muß mich noch an die Gepflogenheiten in PB gewöhnen. Deine Feindseligkeiten brauche ich aber mit Sicherheit nicht dazu. Für gewöhnlich brauche ich ein paar Tage, um die Forentrolle ausfindig zu machen. Danke für Deine Enttarnung. Bitte also weiters keine Streitereien mit aller Gewalt vom Zaun brechen. Dies dient nämlich nur dazu, jegliches Thema zu zerreden. Genau wegen solcher Umtriebe nennt man sie hierzulande die Forenseuche und jeder weiß, daß sie hauptsächlich in deutschsprachigen Foren auftaucht.

Ach, und um das gleich einmal klarzustellen: Ich befinde mich im Urwald und betreibe eine Art Entwicklungshilfe. Alle Nase lang fällt der Strom aus und die TK klappt zusammen. Ich bin also bereits bestens mit Schwierigkeiten eingedeckt. Da habe ich keine Zeit, Lust, Nerven, Bandbreite oder Volumen (also Geld) mehr für solche Sandkastenspielchen oder Empfindlichkeiten übrig.

Was ich brauche, ist praktische Hilfestellung. Dafür beteilige ich mich gerne als Beta-Tester der Offline-Hilfe, gebe Anregungen für PB usw. Dein Zynismus ist da (nach meinen Recherchen im Forum auch für andere Neulinge) mehr als nur deplaziert. Auch habe ich keinerlei Problem damit, eitle Schwätzer in meiner Forenansicht zu bannen. Suche Dir also aus, zu welcher Gruppe Du gehören willst. Wenn Du etwas Konstruktives beitragen willst, lese ich gerne und dankbar Deine Ausführungen, wie Du sicherlich schon festgestellt haben wirst; aber eben nur solange, wie ich diese auch sehen kann. Du kannst mir doch folgen?
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Benutzeravatar
mhs
Beiträge: 224
Registriert: 11.01.2009 16:30
Wohnort: Graben
Kontaktdaten:

Re: Ein Sack voller Anfängerfragen

Beitrag von mhs »

Domino hat geschrieben:mhs:
mhs hat geschrieben:
Domino hat geschrieben:Links funktionieren nicht im Fließtext. Themen sind nur umständlich über "Inhalte" oder "Suche" zu finden.
Du kannst für jedes Schlüsselwort direkt mit F1 suchen, wenn der Cursor darauf steht.
Ist zwar bekannt, aber nicht die Antwort auf die Feststellung.
Sorry, das hatte ich falsch verstanden.
Domino hat geschrieben:
mhs hat geschrieben: In der Gadgetübersichtsseite der Hilfe und der Einzelbeschreibung werden kleine Abbildungen der jeweiligen Gadgets angezeigt.
Das stimmt nicht für die Linux-Version, mit der ich arbeite, wie Du anhand meiner Signatur sehen kannst. Auch Nic hat das schon festgestellt. Wie das bei Windows oder MacOS aussieht, weiß ich nicht. Windows habe ich vor Jahren von allen meinen Rechnern verabschiedet.
Hoppla, ich verwende Linux fast ausschließlich nur zum kompilieren und testen, deswegen ist mir das nie aufgefallen.
Domino hat geschrieben:
Nino hat geschrieben:Die Syntax von PB ändern, um das Schreiben von solch schlecht lesbarem Code zu ermöglichen?
Nein danke!
Ok, Syntax muß man nicht zwingend ändern. War ja auch nur eine Frage. Schlecht lesbar ist so ein Code aber mit Sicherheit nicht. Ich liebe einen kompakten Stil wie dieses:

Code: Alles auswählen

$db = openDatabase();
$SQL = "SELECT * FROM tabelle WHERE ID='$blabla' ORDER BY IQ DESC";
if (($res = mysqli_query($db, $SQL)) !== false) {
  while (($row = mysqli_fetch_assoc($res)) !== null) {
    // blabla
  }
}
Der ist definitiv übersichtlich, gut lesbar und drum sehr guter Stil. Wenn Du das als Basic-Programmierer nicht nachvollziehen kannst, so darfst Du mir trotzdem meine Meinung dazu lassen.
Der Stil ist in der Basic Welt nicht unbedingt üblich, da hier alles möglichst einfach lesbar sein sollte. Aber da hat jeder seinen eigenen Geschmack...
Weiter oben hat die GPI schon ein Makro gepostet und in den Tipps & Tricks sollte sich von mir auch ein solches finden, mit dem man sich PB dafür zurecht biegen kann.
Domino hat geschrieben:
mhs hat geschrieben:Kannst du doch, als Parameter by Reference. Wo ist das Problem? Vergleich es mal mit C. Pointer auf Pointer? Was ist einfacher?
Thema verfehlt. Es ging um zurückzugebende Felder, nicht um die Nutzung eines bereits übergebenen Feldes als Ausgabe.
Thema ganz und gar nicht verfehlt. Auch ein Parameter by Reference kann als eine Art der Rückgabe genutzt werden. Als Rückgabewert geht es in PB nicht, da hast du recht.
Michael Hack

Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Ein Sack voller Anfängerfragen

Beitrag von Nino »

Domino hat geschrieben:
Nino hat geschrieben:Was sollen solche Unterstellungsversuche?
Das Problem ist hier offensichtlich, dass Du es nicht vertragen kannst wenn jemand eine andere als deine Meinung vertritt.
Ich bin neu hier und muß mich noch an die Gepflogenheiten in PB gewöhnen. Deine Feindseligkeiten brauche ich aber mit Sicherheit nicht dazu. Für gewöhnlich brauche ich ein paar Tage, um die Forentrolle ausfindig zu machen. Danke für Deine Enttarnung.
Du hast hier u.a. dauernd die PB-Hilfe kritisiert ohne wenigstens grundlegende Dinge darin gelesen zu haben, erwartest dass andere Leute für dich irgendwo etwas posten, auf sachliche Fragen hast du nicht geantwortet usw. ... Und wenn ich dann einen dämlichen Unterstellungsversuch deinerseits kritisiere, erklärst du mich zum Troll ... :D Na dann noch viel Spaß in deiner selbstgebastelten Schwarz/Weiß-Realität!
Domino hat geschrieben:Auch habe ich keinerlei Problem damit, eitle Schwätzer in meiner Forenansicht zu bannen. Suche Dir also aus, zu welcher Gruppe Du gehören willst. Wenn Du etwas Konstruktives beitragen willst, lese ich gerne und dankbar Deine Ausführungen, wie Du sicherlich schon festgestellt haben wirst; aber eben nur solange, wie ich diese auch sehen kann. Du kannst mir doch folgen?
Oh ha, da hält sich jemand für den Nabel der Welt ... (woran schon zuvor kaum ein Zweifel bestand).
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: Ein Sack voller Anfängerfragen

Beitrag von Omi »

@Domino
Das Editor-Problem mit [Return] und [Tab]-Tasten auf 32-Bit Linux ist bereits in der noch ofenwarmen :wink: 5.41Beta5 gefixt und downladbar.

Noch kurz zu den 'klebrigen' Kartei-Reitern.
Die beste Methode (bis man Fred den Bug mal nachvollziehbar präsentieren kann) um dieses lästige 'Feature' ohne Neustart der IDE zu umgehen ist, die Tabs (Reiter) zur Anwahl 2 x zu klicken (kein Doppelklick).

Grüße, Charly

PS:
Nachgeschoben da vergessen: In der 5.41B4 ist der Return/Tab-Bug noch drin!
Zuletzt geändert von Omi am 22.12.2015 17:17, insgesamt 1-mal geändert.
PureBasic Linux-API-Library: http://www.chabba.de
Antworten