(Mathe-)Aufgaben vollständig ausgeben

Anfängerfragen zum Programmieren mit PureBasic.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

(Mathe-)Aufgaben vollständig ausgeben

Beitrag von Tombi »

Ist es möglich z.b. folgendes zu speichern (wohl dann in einen String):

1+1

Wenn ich dann dies z.b. in einem StringGadget() ausgeben möchte soll da nicht 2 stehen sondern "1+1" ...
Ist das möglich?


- Danke im Vorraus -
- Tombi -
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Code: Alles auswählen

a=1
b=1
c=a+b
Debug "Ergebnis: "+Str(c)
Tipp: Str()

EDIT: @STARGÅTE : Oh, falsch gelesen, war zu voreilig
Zuletzt geändert von RSBasic am 09.03.2008 21:43, insgesamt 1-mal geändert.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

wenn du
1+1
irgendwo hinschreibst, ist es doch bereit sowieso ein String : "1+1"

und wenn du als Button erst eine 1 dann ein + und dann eine 1 drückst, dann kannst du doch auch einen String zusammen schreiben:

Aufgabe$ + Str(1) + "+" + Str(1)

denn wenn du irgendwo einen String hinschreibt rechnet das Programm sowieso nix aus, erst wenn du es dazu bringst (Anderes Thema)

EDIT: @RSBasic : da steht : "soll da nicht 2 stehen"
Zuletzt geändert von STARGÅTE am 09.03.2008 21:38, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Naja z.B. so:

text.s = "1 + 1"

oder auch so:

a.l = 1
b.l = 1
text.s = Str(a) + "+" + Str(b)

auch das hier ist möglich:

a.f = 7.3
b.f = 9.2
text.s = StrF(a) + "+" + "StrF(b)
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Str() ist die Lösung, danke euch :)

Da sieht man mal wie flink unsere Helfer sind, fast alle zur gleichen Zeit :mrgreen:
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

also wenn Str() deine Lösung war, dann ließ doch bitte vorher die Hilfe etwas genauer, ober probier halt aus.
Aber für Frage ist hier der falsche Ort.
Syntax

Ergebnis$ = Str(Wert)
Beschreibung

Konvertiert eine (vorzeichenbehaftete) Ganzzahl in einen String.

Hinweis: Fließkommazahlen werden mit dem Befehl StrF(), Doubles mit StrD() und vorzeichenlose Zahlen mit dem Befehl StrU() konvertiert.

Beispiel:
value.l = 10
result$ = "Ergebnis: " + Str(value)
Debug result$

Unterstützte OS

Alle
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Naja, also wer noch nie was programmiert hat, der kommt auch nicht drauf, wo er das in der Hilfe finden soll. Ich bin damals unter QBASIC auch nur zufällig über STR$ gestoßen... finde die Frage hier nicht unangebracht.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

oh ja QBasic war schon cool

vorallem mit SCREEN 12 konnte man richtig geile Spiele schreiben (die DrawingBefehle von heute)

Meine erste Schritte in QBasic:

Code: Alles auswählen

SCREEN 12
pi = 3.141592653589#
rSonneErde = 200
rErdeMond = 30
1
CIRCLE (300, 240), 20, 0
CIRCLE (300 + xSonneErde, 240 + ySonneErde), 10, 0
CIRCLE (300 + xSonneErde + xErdeMond, 240 + ySonneErde + yErdeMond), 7, 0
a = a - 1 / 13
b = b - 1
xSonneErde = COS(a * (pi / 180)) * rSonneErde
ySonneErde = SIN(a * (pi / 180)) * rSonneErde
xErdeMond = COS(b * (pi / 180)) * rErdeMond
yErdeMond = SIN(b * (pi / 180)) * rErdeMond
CIRCLE (300, 240), 20, 14
CIRCLE (300 + xSonneErde, 240 + ySonneErde), 10, 9
CIRCLE (300 + xSonneErde + xErdeMond, 240 + ySonneErde + yErdeMond), 7, 6
FOR zeit = 1 TO 2000: NEXT zeit
GOTO 1
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Mh, nun doch wieder ein Problem :D

Wenn ich das ganze in z.b. Rechnung$ speichere, aber dann das Ergebnis rausbekommen möchte, wird das so leider nichts.
Habe auch schon versucht das irgendwie in eine Variable o.ä. umzuwandeln ... ohne weitere Ergebnisse.


- Tombi -
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Naja dazu brauchst Du einen Parser, der diesen String wieder auflöst und ausrechnet. Das heißt, Du müßtest Dir nun ein Programm schreiben, das den String in seine Einzelteile zerlegt (er muß also Zahlen, Klammern und Rechenzeichen erkennen) und dann nach und nach ausrechnet...

Vielleicht wäre es aber besser, wenn Du mal generell sagst, was Du vorhast, denn möglicherweise machst Du Dein Programm nur unnötig umständlich, und es gibt 'ne bessere Lösung. Oder probierst Du einfach nur ein bißchen rum, um die Sprache zu lernen?
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten