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:

was ist "-lang"?

 
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
katerkarlo



Anmeldungsdatum: 01.09.2006
Beiträge: 8

BeitragVerfasst am: 27.04.2009, 13:03    Titel: was ist "-lang"? Antworten mit Zitat

Hi, ich glaube diese Frage ist recht simpel.
Ich habe freebasic auf den neuesten stand gebracht aber jetzt das problem das ein teil meiner programme nicht mehr gestartet werden.
Ich benutze FBIde als Editor und die Programmausführung wird mit einer ganzen dicken liste an fehlermeldungen abgebrochen.
Die Fehlermeldungen sind alle in dieser art:
Zitat:
error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb, found usw..


Frage:
Wie richte ich FBIte so ein das die Programme wieder laufen ohne das ich den ganzen Code anpassen muss?

edit: alle fehler liegen offensichtlich in meinen sub/function deklarationen, fb stört sich am ',' was hat sich geändert?

Eine beispieldeklaration von mir:
Code:
declare function collision(ax,ay,bx,by,cx,cy,dx,dy,result,kreuzpunkt_y,kreuzpunkt_x)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.04.2009, 13:39    Titel: Antworten mit Zitat

mit dem parameter -lang erwartet der Compiler die angabe des dialekts. ist wahrscheinlich die abkürzung von language .. also "sprache". der Compiler unterstützt verschiedene Dialekte, die sich in verschiedenen Fähigkeiten und Sprachumfang unterscheiden.

In deinem Beispiel:
Am "," stört sich der Compiler nicht. Sondern eher daran das du dort keine Datentypen den einzelnen Variablen in der Parameterliste angibst und dass du der Funktion für ihren Rückgabewert keinen Datentyp verpasst.

Code:

declare function collision(ax as integer,ay as integer,bx as integer,by as integer,cx as integer,cy as integer,dx as integer,dy as integer,kreuzpunkt_y as integer,kreuzpunkt_x as integer) as integer


Ich weiss nicht genau, was du dort in dieser funktion machst.
Soweit es mir ersichtlich war, erwartest du eine Reihe von Ganzzahlen. Und eine Variable hast du "Result" genannt wo du wahrscheinlich BYREF die Ausgabe der Funktion zurückgibst.
Vorrausgesetzt, meine annahme der Datentypen war richtig, so kannst du am ende innerhalb der Funktion mit "Return Result" den Wert direkt an die ausgabe der funktion weiterleiten.
(Dann ist der Datentyp der Funktionsrückgabe auch Integer)

so kannst du dann die funktion folgender maßen aufrufen:
Code:

result = collision(ax, ay, bx, by, cx, cy, dx, dy, double,kreuzpunkt_y, kreuzpunkt_x)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
katerkarlo



Anmeldungsdatum: 01.09.2006
Beiträge: 8

BeitragVerfasst am: 27.04.2009, 14:09    Titel: Antworten mit Zitat

mmhh ja vielen dank aber gibt es da nicht eine schnellere möglichkeit zb fb zu sagen es soll sich mal bitteschön die typen selber raussuchen?

Das Programm lief mit dem älteren fb einwandfrei.
Soll heißen es hat zwar gemeckert das ich keine variablen-typen angegeben habe aber trotzdem das programm korrekt ausgeführt.

also bevor ich mich da hinsetze und mir die arbeit mache 2000 zeilen code nachzuarbeiten installiere ich mir doch lieber wieder das alte fb.

Klar ist auch das ich mich dann halt bei zukünftigen projekten drann halte alle variabeln ordentlich zu dimensionieren.
Es gibt doch SICHER einen weg auch ältere fb-programme von mir mit dem neuen FB lauffähig zu machen OHNE den Code großartig verändern zu müssen oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.04.2009, 14:50    Titel: Antworten mit Zitat

Ich weiss das mit der jeweils aktuellsten Version vom FBC immer mehr QB-Dialekt-Überbleibsel wegfallen und wegfallen werden. Welche das im Detail sind weiss ich allerdings, nicht, ich hoffe das hier im forum da jemand mehr drüber bescheid weiss.

Ich würde dir allerdings empfehlen auf ältere dialekte zu verzichten, weil du dich damit um einige neue Funktionen um um einen größeren Sprachumfang beraubst.
Schreibs lieber um und du hast mehr freiheiten bzw möglichkeiten als vorher!

Bequemlichkeit ist nicht immer gut, wenn man davon ausgehen will, dass das programm genau das machen soll, wofür man es programmiert hat zwinkern




Wenn du FBIDE oder den FBEdit verwendest, kannst du dort in den Einstellungen den Parameter " -lang qb " für den FBC feste einstellen. Dann brauchst du den nicht extra bei jedem neukompilieren angeben. Oder mach dir ne Batch-Datei wenn du dein Programm immer von der Kommandozeile aus kompilieren willst.

Ich hab früher auch ne menge in QB getextet, nur irgendwann hat mich der neue sprach- und funktionsumfang vom neuen FBC zu sehr interessiert und seit dem programmier ich "ordentlich" .. klar, auch wenn man sich an die FBC-Eigene Syntax hält, kann man "hässlich" programmieren, aber das ist grad nicht das thema XD
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 27.04.2009, 14:51    Titel: Antworten mit Zitat

schau mal in die FreeBASIC-Referenz:
http://www.freebasic-portal.de/index.php?s=reftopic&id=600
_________________
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
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.04.2009, 14:53    Titel: Antworten mit Zitat

@volta: Cool, wusst ich auch noch nicht XD.. man lernt nie aus lächeln besonders wenn man eine Meta-muffel ist XD
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
katerkarlo



Anmeldungsdatum: 01.09.2006
Beiträge: 8

BeitragVerfasst am: 27.04.2009, 15:13    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
schau mal in die FreeBASIC-Referenz:
http://www.freebasic-portal.de/index.php?s=reftopic&id=600


Zitat:
#lang "deprecated"


Problem gelöst VIELEN DANK volta !!

Aber hey, vielleicht sollte ich ja auch auf OneCypher hören , nicht so faul sein und meine Zeit sinnlos damit verschwenden ein Programm was bereits lief nochmal 3 stunden nachzubearbeiten statt mal kurz diese eine zeile einzufügen....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.04.2009, 16:02    Titel: Antworten mit Zitat

"Aber hey, vielleicht sollte ich ja auch auf OneCypher hören , nicht so faul sein und meine Zeit sinnlos damit verschwenden ein Programm was bereits lief nochmal 3 stunden nachzubearbeiten statt mal kurz diese eine zeile einzufügen...."


klingt fast ironisch :-/ .. war nur ein gut gemeinter rat ... Altlasten machen eigentlich immer nur probleme! früher oder später jedenfalls...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 27.04.2009, 16:13    Titel: Antworten mit Zitat

katerkarlo hat Folgendes geschrieben:
Aber hey, vielleicht sollte ich ja auch auf OneCypher hören , nicht so faul sein und meine Zeit sinnlos damit verschwenden ein Programm was bereits lief nochmal 3 stunden nachzubearbeiten statt mal kurz diese eine zeile einzufügen....

OneCypher hat Folgendes geschrieben:
klingt fast ironisch :-/

Da würde ich das "fast" weglassen.

katerkarlo hat Folgendes geschrieben:
volta hat Folgendes geschrieben:
schau mal in die FreeBASIC-Referenz:
http://www.freebasic-portal.de/index.php?s=reftopic&id=600

Zitat:
#lang "deprecated"

Problem gelöst

deprecated heißt übrigens "missbilligt" oder "abgelehnt". Dieser Compilermodus dient dazu, dass Bestandsprogramme, die noch immer veraltete und inzwischen nicht mehr regulär unterstützte Sprachelemente nutzen, noch in einem "Kompatibilitätsmodus" compiliert werden können, damit sie nicht grundlegend umgeschrieben werden müssen. Als Basis für neue Programme ist dieser "Fallback-Modus" des Compilers nicht zu empfehlen, da man nicht genau sagen kann, bis wann welcher Grad der Abwärtskompatibilität aufrecht erhalten wird. Wenn eben möglich, sollte man stattdessen versuchen, seine Programme entsprechend zu ändern, dass sie im Standardmodus compiliert werden können.
OneCypher hat Folgendes geschrieben:
war nur ein gut gemeinter rat

Der war meiner Ansicht nach nicht nur "gut gemeint", sondern auch noch fachlich völlig richtig. zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 27.04.2009, 16:13    Titel: Antworten mit Zitat

Ein recht umfangreiches meiner Programme habe ich inzwischen mindestens zum fünften Mal komplett neu geschrieben, vorwiegend wegen Dialektwechsel. Als verschwendete Zeit habe ich das nie empfunden.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.04.2009, 16:36    Titel: Antworten mit Zitat

@Sebastian: Schon ok, ich kanns verstehen wenn man sich arbeit sparen will. Seine artikulation war nur nich ganz nett zwinkern .. nichts für ungut lächeln
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
Seite 1 von 1

 
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