 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 13.06.2006, 19:35 Titel: |
|
|
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?
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 13.06.2006, 20:43 Titel: |
|
|
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?
|
Sicherlich können Anfänger den vollen Leistungsumfang von FreeBASIC nicht ausnutzen..
Wozu auch, für ein 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 |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 13.06.2006, 22:25 Titel: |
|
|
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.
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  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 13.06.2006, 23:18 Titel: |
|
|
Ach du mein lieber mein programmierer,
du warst doch gar nicht gemeint
Gemeint war eigentlich User DAU(Pentium SchlagmichTot, 2GB RAM, 500GB HD, 28K-Modem), der in der DosBox nicht den 'Run'-Button findet
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 |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 14.06.2006, 13:57 Titel: |
|
|
ytwinky hat Folgendes geschrieben: | Ach du mein lieber mein programmierer,
du warst doch gar nicht gemeint  |
Ja, ich weiß. Aber erwähnen kann ich es ja mal. Da war ich ja noch jung und dumm  |
|
Nach oben |
|
 |
Anistasius
Anmeldungsdatum: 18.01.2006 Beiträge: 37
|
Verfasst am: 16.06.2006, 10:58 Titel: |
|
|
@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.
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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.06.2006, 15:43 Titel: |
|
|
Michael Frey hat Folgendes geschrieben: | Code: | REM dim x$,za%,hk% '<========== |
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 |
|
 |
Anistasius
Anmeldungsdatum: 18.01.2006 Beiträge: 37
|
Verfasst am: 16.06.2006, 15:55 Titel: |
|
|
>>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.
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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 16.06.2006, 16:31 Titel: |
|
|
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 |
|
 |
Anistasius
Anmeldungsdatum: 18.01.2006 Beiträge: 37
|
Verfasst am: 16.06.2006, 21:32 Titel: |
|
|
>>Das kann keiner Nach vollziehen weil das alles hier fehlt:
>>stdfu_rtrim
Sorry! Hatte ich vergessen
...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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 17.06.2006, 12:39 Titel: |
|
|
Ja, stimmt, es reicht sogar
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 |
|
 |
Anistasius
Anmeldungsdatum: 18.01.2006 Beiträge: 37
|
Verfasst am: 20.06.2006, 13:59 Titel: |
|
|
Juhuu, es geht wieder!!
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 20.06.2006, 22:07 Titel: |
|
|
ich denke, die meldung kommt,weil du IF R = irgendwas verwendet hast, OHNE vorher R einen wert zuzuweisen ein simples r% = 0 zu beginn oder ein DIM r% sollte das problem lösen (fallss ich dein prob richtig verstanden hab ) _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Anistasius
Anmeldungsdatum: 18.01.2006 Beiträge: 37
|
Verfasst am: 21.06.2006, 17:11 Titel: |
|
|
>>ich denke, die meldung kommt,weil du IF R = irgendwas verwendet hast, OHNE vorher R einen wert zuzuweisen
Jaein
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 |
|
 |
|
|
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.
|
|