Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

FB0.16b released
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 13.06.2006, 19:35    Titel: Antworten mit Zitat

Anistasius hat Folgendes geschrieben:
ich fände es auch toll, wenn man alternativ zu "<>", "!=" schreiben könnte
na, zu schreibfaul für Deklarationen aber volle C-Syntax wie geht das denn? zwinkern
Stormy hat Folgendes geschrieben:
Ich sehe da absolut keine Bedenken für Anfänger. Letzenendes kommt es doch nur auf das Lernmaterial (wie viele gute Tuts man zur Verfügung hat) an und wie hoch das Interesse für's Lernen dabei ist.
Wenn ich mir die Fragen von Änfängern hier im Forum ansehe, dann glaube ich nicht das FB gutes Lernmaterial ist. Hier muss ich Michael Frey zustimmen, da gab es mit QBasic ein sehr gutes Lernprogramm. Aber heute bekommen es viele unter XP nicht mal mehr zum laufen.

Freebasic soll garnicht als Einsteigersprache angesehen werden - glaube ich.
Es wird mehr Mühe darauf verwendet es schneller und leistungsfähiger zu machen als bedienerfreundlich.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 13.06.2006, 20:43    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
Anistasius hat Folgendes geschrieben:
ich fände es auch toll, wenn man alternativ zu "<>", "!=" schreiben könnte
na, zu schreibfaul für Deklarationen aber volle C-Syntax wie geht das denn? zwinkern
vor lachen auf dem Boden rollen

Sicherlich können Anfänger den vollen Leistungsumfang von FreeBASIC nicht ausnutzen..
Wozu auch, für ein
Code:
?"HELLO,WORLD!"
werden weder Ptr- noch Asm-Kenntnisse benötigt..
Auf der anderen Seite kann es kein Fehler der Sprache sein, wenn der Benutzer vor seinem frisch(und rein) installierten FreeBASIC sitzt und fbc
eingibt und nix tut sich(noch nicht mal nach Wiederholung)..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 13.06.2006, 22:25    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:

Auf der anderen Seite kann es kein Fehler der Sprache sein, wenn der Benutzer vor seinem frisch(und rein) installierten FreeBASIC sitzt und fbc
eingibt und nix tut sich(noch nicht mal nach Wiederholung)..
Gruß
ytwinky


Jaja, kommt mir irgendwie bekannt vor. durchgeknallt
Direkt nachdem ich das Forum hier gesehen habe, hab ich FreeBASIC ausgetestet, war ne ganz alte version. Da wusste ich von programmieren nicht viel, und ich hab mich immer gewundert, wieso man da nur so einen scheiß text in der konsole sieht.
Nachdem ich dann aber zum ersten mal die IDE gesehen hab, war FreeBASIC direkt 1000mal besser grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 13.06.2006, 23:18    Titel: Antworten mit Zitat

Ach du mein lieber mein programmierer,
du warst doch gar nicht gemeint vor lachen auf dem Boden rollen lachen
Gemeint war eigentlich User DAU(Pentium SchlagmichTot, 2GB RAM, 500GB HD, 28K-Modem), der in der DosBox nicht den 'Run'-Button findet grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 14.06.2006, 13:57    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:
Ach du mein lieber mein programmierer,
du warst doch gar nicht gemeint vor lachen auf dem Boden rollen lachen


Ja, ich weiß. Aber erwähnen kann ich es ja mal. Da war ich ja noch jung und dumm grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Anistasius



Anmeldungsdatum: 18.01.2006
Beiträge: 37

BeitragVerfasst am: 16.06.2006, 10:58    Titel: Antworten mit Zitat

@Volta
>>na, zu schreibfaul für Deklarationen aber volle C-Syntax wie geht das denn?

ne, das paßt schon. Ich bin dabei eine Menge Code von xBasic,(wo auch != benutzt wird) nach freeBasic
mit GTK zu konvertieren. Automatisieren läßt sich da nichts, da bin ich froh über jedes "suchen & ersetzen"
weniger. lächeln

Es ist aber doch etwas schlimmer als ich dachte. FB verhält sich nicht mehr wie ein Basic Compiler.
Er belegt die Variablen nicht mehr vor. Jedenfalls nicht immer.
Bei der kleinen Servicefunktion hier ist es mir aufgefallen:

redim rueckwerte$(20)
quelle$="1000;'Schraube M16';3,45;1,6;342"
trenner$=";"
hochkomma$="'"
anzahl%=0
if stringzerlegenCSV(quelle$,trenner$,hochkomma$,rueckwerte$(),anzahl%) then
print "Artikelnummer:";rueckwerte$(1);" Bez ";rueckwerte$(2)
end if
....usw....

Function stringzerlegenCSV(quelle$,trenner$,hochkomma$,rueckwerte$(),anzahl%)

' Wenn anzahl%= 0 ist, steht die Anzahl der Trenner noch nicht fest
' und muß ermittelt werden
REM dim x$,za%,hk% '<==========

If stdfu_trim$(quelle$)="" Then Return(0)
For t%= 1 To Len(quelle$)

If Mid$(quelle$,t%,1)= hochkomma$ Then hk%=hk%+1
If (Mid$(quelle$,t%,1)=trenner$) And (hk% =0) Then
za%=za%+1
rueckwerte$(za%)= stdfu_rtrim( stdfu_ltrim( x$))
x$=""
Else
If Mid$(quelle$,t%,1) <> hochkomma$ Then
x$=x$+Mid$(quelle$,t%,1)
End If
End If
If hk%=2 Then hk%=0
If (za%>anzahl%) And (anzahl% > 0) Then Return(za%)
Next t%

rueckwerte$(za%+1)=stdfu_rtrim( stdfu_ltrim(x$))

Return(za%+1)

End Function


x$ und za% werden vom Compiler bemerkt, hk% hingegen übersehen!
Wenn man x$ und za% dimensioniert oder vorbelegt, läuft der Compiler
ohne Meldungen durch aber die Funktion produziert nur Schrott.
D.h. man _muß_ zukünftig "Option explicit" angeben oder man kann sich
auf nichts mehr verlassen.

Viele Grüße
Anistasius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 16.06.2006, 15:41    Titel: Antworten mit Zitat

Code:
 REM dim x$,za%,hk% '<==========

lachen
Du weisst schon, was REM bewirkt.
Siehe http://rem.freebasic.de
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 16.06.2006, 15:43    Titel: Antworten mit Zitat

Michael Frey hat Folgendes geschrieben:
Code:
 REM dim x$,za%,hk% '<==========

lachen
Du weisst schon, was REM bewirkt.
Siehe http://rem.freebasic.de


lol!

Wenn es ein Array wäre, dann würde ich das ja noch verstehen, da du vielleicht "Redim" gemeint haben könntest^^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Anistasius



Anmeldungsdatum: 18.01.2006
Beiträge: 37

BeitragVerfasst am: 16.06.2006, 15:55    Titel: Antworten mit Zitat

>>Du weisst schon, was REM bewirkt.
Falls es in FB keine andere Verwendung hat als in anderen Basicdialekten,
eignet es sich gut eine Zeile (leicht auffindbar) auszukommentieren um z.B.
ein Problem zu demonstrieren. zwinkern

Nochmal, normalerweise verlasse ich mich bei kurzlebigen Zeugs auf die Vorbelegung des Compilers /Interpreters.
x$,za% und hk% deklariere ich daher eigentlich nicht (deshalb das REM)
Dann wird der Compiler x$ und za% anmeckern , also schreibe ich entweder
dim x$,za% oder x$="":za%=0
danach läuft der Compiler ohne Meldungen durch, das Programm liefert aber
trotzdem nur Müll, weil in hk% (was er nicht meldet) irgendwelche Zufallswerte
drin stehen.
Das ist nichts halbes und nichts ganzes. Entweder der Compiler verlangt zwingend eine Deklaration oder belegt die Variablen wie bisher vor.

Viele Grüße
Anistasius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 16.06.2006, 16:31    Titel: Antworten mit Zitat

Jetzt verstehe ich, ich prüfe es gleich.

Edit:
Solch lückenhafte Code ...
Das kann keiner Nach vollziehen weil das alles hier fehlt:
    stdfu_rtrim
    stdfu_ltrim
    stdfu_trim


Edit2:
Read the Changelog:
Zitat:
[added]
...
- warning message when allocating implicitly a variable inside an expression (v1c)

Keine Ahnung was das schon wieder soll ...
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Anistasius



Anmeldungsdatum: 18.01.2006
Beiträge: 37

BeitragVerfasst am: 16.06.2006, 21:32    Titel: Antworten mit Zitat

>>Das kann keiner Nach vollziehen weil das alles hier fehlt:
>>stdfu_rtrim

Sorry! Hatte ich vergessen traurig
...ist nur ein Trimsatz für unsaubere Umgebungen, wenn außer Chr(32) auch TABs und
sonstiger Krempel drin stecken kann. Kommt bei diesen CSV Dateien häufiger vor.
Mit den normalen Trim(s) passiert es aber genauso.

Ich habe es hier mal auf den Punkt gebracht:

REM dim z%,nichterkannt ' Wenn das REM entfernt wird, läuft´s richtig
z%=1 ' z% sollte also 1 sein
if z%=0 then nichterkannt= 1 ' ...kann er daher nicht setzen
if z%>0 and nichterkannt=0 then print "richtig" ' diese Aussage ist demnach wahr
if z%>0 and nichterkannt>0 then print "falsch!";z%;nichterkannt '...und diese nicht!
sleep 500


Bei mir bringt er immer "falsch" und 'nichterkannt' hat einen Phantasiewert
Außerdem wird keine Fehler oder Warnmeldung ausgegeben.



Viele Grüße
Anistasius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 17.06.2006, 12:39    Titel: Antworten mit Zitat

Ja, stimmt, es reicht sogar
Code:
? hallo

für eine Fehlermeldung.

Weil aber im Changelog
Zitat:
[added]
...
- warning message when allocating implicitly a variable inside an expression (v1c)

steht, kann man auch keinen Bug Report machen.
Wie gesagt, ich verstehe Sinn- und Zweck dieser "Funktion" auch nicht.
Vielleicht zieht v1ctor sie wieder in der nächsten Version zurück?
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Anistasius



Anmeldungsdatum: 18.01.2006
Beiträge: 37

BeitragVerfasst am: 20.06.2006, 13:59    Titel: Antworten mit Zitat

Juhuu, es geht wieder!! lächeln
Habe gerade die Version vom 19. (erstmal nur Windows) getestet


if u% = 1 then r%=8
print u%,r%
sleep 5000

Eine Warnung:"Implicit variable allocation, u"
Und Ausgabe: 0 0


Mit der Warnung kann man leben. Schlimmer war das r% in der letzten Version eine
Zufallszahl hatte und nicht angemahnt wurde.


Viele Grüße
Anistasius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 20.06.2006, 22:07    Titel: Antworten mit Zitat

ich denke, die meldung kommt,weil du IF R = irgendwas verwendet hast, OHNE vorher R einen wert zuzuweisen zwinkern ein simples r% = 0 zu beginn oder ein DIM r% sollte das problem lösen (fallss ich dein prob richtig verstanden hab zwinkern )
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Anistasius



Anmeldungsdatum: 18.01.2006
Beiträge: 37

BeitragVerfasst am: 21.06.2006, 17:11    Titel: Antworten mit Zitat

>>ich denke, die meldung kommt,weil du IF R = irgendwas verwendet hast, OHNE vorher R einen wert zuzuweisen

Jaein zwinkern
Die Meldung betrifft nur u%.
r% ging ihm völlig durch die Lappen!
Da ich r%=8 geschrieben hatte, war die Variable für ihn zugewiesen. Da bekam man keine Warnungmeldung zu
Wird die "If ..Then" Bedingung aber nicht erfüllt, hat r% irgendwelche Zufallswerte.
Bei Sprachen, in denen eine Deklaration optional ist, setzen die Compiler/Interpreter beim ersten Auftauchen einer neuen
Variable automatisch einen Grundwert ein. 0 oder "". Danach erst wird dieser dann ggf. durch eine Zuweisung aus dem Code überschrieben.
Egal welche exotischen Bedingungskonstruktionen verwendet werden, hat das Ding dadurch immer saubere Werte. Dieser Komfort
drückt natürlich etwas die Performance. Alternativ kann man eine ordentliche Deklaration erzwingen. Dann sollte es aber eindeutig sein, also
mit DIM. Ein Mischmasch aus beidem, also Vorbelegung ersparen und Deklaration u/oder Zuweisung freistellen, ist gefährlich.

Deshalb meinte ich weiter oben, zukünftig muß man immer "option explicit" setzen, sonst kann man sich auf nichts mehr verlassen.
Aber nun scheint er sie ja wieder vorzubelegen.


Viele Grüße
Anistasius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz