Programme von 3.3 auf 3.94 nicht kompatibel?
Programme von 3.3 auf 3.94 nicht kompatibel?
Hallo zusammen,
habe gerade auf die Version 3.94 upgedatet (vorher jahrelang die 3.3. von Topos).
Habe jetzt ein Programm ausprobiert, das auf 3.3 einwandfrei funktionierte.
Aber beim Compilieren mit 3.94 zahlreiche Fehlermeldungen (Array out of Bounds, vor Exame Keyboard muss ich jetzt auf einmal einen anderen Befehl einfügen den ich nicht kenne etc.).
Stehe ziemlich auf dem Schlauch, da ich eigentlich dachte, Programme von niedrigeren Versionen seien kompatibel. Jedenfalls sollte das so sein, meiner Meinung nach.
Was kann ich jetzt machen, um mein Progi zu retten udn auf die neue Version zu hieven, ohne alles neu programmieren zu müssen (dazu hab ich nämlich keine Lust, dann bleib ich lieber bei der alten)
Vielen Dank für eure Hilfe
Oli
habe gerade auf die Version 3.94 upgedatet (vorher jahrelang die 3.3. von Topos).
Habe jetzt ein Programm ausprobiert, das auf 3.3 einwandfrei funktionierte.
Aber beim Compilieren mit 3.94 zahlreiche Fehlermeldungen (Array out of Bounds, vor Exame Keyboard muss ich jetzt auf einmal einen anderen Befehl einfügen den ich nicht kenne etc.).
Stehe ziemlich auf dem Schlauch, da ich eigentlich dachte, Programme von niedrigeren Versionen seien kompatibel. Jedenfalls sollte das so sein, meiner Meinung nach.
Was kann ich jetzt machen, um mein Progi zu retten udn auf die neue Version zu hieven, ohne alles neu programmieren zu müssen (dazu hab ich nämlich keine Lust, dann bleib ich lieber bei der alten)
Vielen Dank für eure Hilfe
Oli
- 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
Am besten siehste Dir in der Hilfe mal die Historie (Geschichte) an und verschaffst Dir einen Überblick der Änderungen.
Kompatibilität ist nicht immer Sinnvoll. Zuviele Altlasten bremsen den
Compiler und die User verwenden dann weiterhin die alten Funktionen.
Umstellung auf PB4 wird noch Aufwendiger, dafür haste dann aber soviele
neue Möglichkeiten, das es sich bestimmt lohnt
Kompatibilität ist nicht immer Sinnvoll. Zuviele Altlasten bremsen den
Compiler und die User verwenden dann weiterhin die alten Funktionen.
Umstellung auf PB4 wird noch Aufwendiger, dafür haste dann aber soviele
neue Möglichkeiten, das es sich bestimmt lohnt

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

19k Zeilen ist schon wirklich einiges an Arbeit, um es nach 3.3 wieder für
die 3.94 lauffähig zu machen.
Dazu kommt jetzt noch die V4.0 , die demnächst mal auch den Final
Status erreichen wird und somit 3.94 ablösen dürfte.
Damit musste nun für dich überlegen, ob es Sinnvoll ist, überhaupt den
Code für 3.94 lauffähig zu machen. Vielleicht ist es besser du studierst die
neuen Möglichkeiten und Änderungen der 3.94 und machst dich mit ihnen
vertraut und schaust schon mal, was die V4.0 für weitere Änderungen
bringen wird. Bis die V4.0 Final rauskommt machste noch mit der 3.3
weiter und Überarbeitest erst dann den Code direkt auf V4.0 .
Du könntest auch für das Projekt bei der 3.3 bleiben und erst ab dem
nächsten mit der 4.0 Arbeiten. Aber wir wissen ja nicht was du vor hast
bzw was geplant war. Aber die Arbeit fürs Überarbeiten können wir dir
nicht abnehmen. Aber glaub mir, die Stunden, Tage werden sich lohnen.
Vielleicht auch 1-2 Wochen bei so viel Code. Aber wenn du mit deinem
19k Projekt noch einiges vor hast würde ich dir wohl eher dazu raten, es
auf die aktuellen Versionen zu bringen.
Obwohl, hier im forum ist einer an einem Converter dranne, der Code auf
die V4.0 bringen soll. Vielleicht haste glück und es wird auch für V3.3 ,
damit hättest vermutlich einiges gesarrt.
MFG PMV
die 3.94 lauffähig zu machen.
Dazu kommt jetzt noch die V4.0 , die demnächst mal auch den Final
Status erreichen wird und somit 3.94 ablösen dürfte.
Damit musste nun für dich überlegen, ob es Sinnvoll ist, überhaupt den
Code für 3.94 lauffähig zu machen. Vielleicht ist es besser du studierst die
neuen Möglichkeiten und Änderungen der 3.94 und machst dich mit ihnen
vertraut und schaust schon mal, was die V4.0 für weitere Änderungen
bringen wird. Bis die V4.0 Final rauskommt machste noch mit der 3.3
weiter und Überarbeitest erst dann den Code direkt auf V4.0 .
Du könntest auch für das Projekt bei der 3.3 bleiben und erst ab dem
nächsten mit der 4.0 Arbeiten. Aber wir wissen ja nicht was du vor hast
bzw was geplant war. Aber die Arbeit fürs Überarbeiten können wir dir
nicht abnehmen. Aber glaub mir, die Stunden, Tage werden sich lohnen.
Vielleicht auch 1-2 Wochen bei so viel Code. Aber wenn du mit deinem
19k Projekt noch einiges vor hast würde ich dir wohl eher dazu raten, es
auf die aktuellen Versionen zu bringen.
Obwohl, hier im forum ist einer an einem Converter dranne, der Code auf
die V4.0 bringen soll. Vielleicht haste glück und es wird auch für V3.3 ,
damit hättest vermutlich einiges gesarrt.
MFG PMV
Hallo PMV!
Also für das Umschreiben auf eine neue Version brauche ich bestimmt drei Monate bei mehreren Stunden täglich: Ich bin leider keine Programmierleuchte, und bei meinem Programmierstil würde sich euch wahrscheinlich der Magen umdrehen (sehr umständliche Programmierung; Fenster, Prozeduren und Strukturen benutze ich nicht, weil ich sie einfach nicht verstehe; und meine Darstellung findet ausschließlich mit OpenConsole und Print usw. statt - also eher wie man früher auf dem C64 programmiert hat, was auch das einzige Basic war, dass ich ansatzweise mal gelernt habe).
Deswegen bin ich natürlich alles andere als Begeistert, dass ich jetzt auf einmal Fehler bekomme (auch Rechenfehler), wo ich einfach keinen blassen Schimmer habe, was das jetzt falsch dran ist ...
Die 3.94 habe ich mir eigentlich auch nur gekauft, weil in 3.3 irgendwie bei ca. 20500 Zeilen der Compiler abstürzt.
Trotzdem danke an euch. Werde die 3.94 aber wohl zurückgeben.
Viele Grüße
Oli
Also für das Umschreiben auf eine neue Version brauche ich bestimmt drei Monate bei mehreren Stunden täglich: Ich bin leider keine Programmierleuchte, und bei meinem Programmierstil würde sich euch wahrscheinlich der Magen umdrehen (sehr umständliche Programmierung; Fenster, Prozeduren und Strukturen benutze ich nicht, weil ich sie einfach nicht verstehe; und meine Darstellung findet ausschließlich mit OpenConsole und Print usw. statt - also eher wie man früher auf dem C64 programmiert hat, was auch das einzige Basic war, dass ich ansatzweise mal gelernt habe).
Deswegen bin ich natürlich alles andere als Begeistert, dass ich jetzt auf einmal Fehler bekomme (auch Rechenfehler), wo ich einfach keinen blassen Schimmer habe, was das jetzt falsch dran ist ...
Die 3.94 habe ich mir eigentlich auch nur gekauft, weil in 3.3 irgendwie bei ca. 20500 Zeilen der Compiler abstürzt.
Trotzdem danke an euch. Werde die 3.94 aber wohl zurückgeben.
Viele Grüße
Oli
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Bei einem Projekt in der dimension ist es eigentlich fast unabdingbar,Oli hat geschrieben:Hallo PMV!
Also für das Umschreiben auf eine neue Version brauche ich bestimmt drei Monate bei mehreren Stunden täglich: Ich bin leider keine Programmierleuchte, und bei meinem Programmierstil würde sich euch wahrscheinlich der Magen umdrehen (sehr umständliche Programmierung; Fenster, Prozeduren und Strukturen benutze ich nicht, weil ich sie einfach nicht verstehe; und meine Darstellung findet ausschließlich mit OpenConsole und Print usw. statt - also eher wie man früher auf dem C64 programmiert hat, was auch das einzige Basic war, dass ich ansatzweise mal gelernt habe).
Deswegen bin ich natürlich alles andere als Begeistert, dass ich jetzt auf einmal Fehler bekomme (auch Rechenfehler), wo ich einfach keinen blassen Schimmer habe, was das jetzt falsch dran ist ...
Die 3.94 habe ich mir eigentlich auch nur gekauft, weil in 3.3 irgendwie bei ca. 20500 Zeilen der Compiler abstürzt.
Trotzdem danke an euch. Werde die 3.94 aber wohl zurückgeben.
Viele Grüße
Oli
einen geflegten Quellcode zu haben, sonnst wirdst du früher oder später
keinen durchblick mehr haben. Spätestens aber, wenn du ein oder zwei
Monate, vielleicht sogar schon nach Wochen, nicht mehr am Projekt
gearbeitet hast könnte dies geschehen.
Du solltest vielleicht die möglichkeiten der 3.94 nun nutzen und dich weiter
bilden. Versuche durch material im Internet zu erlernen, was die ganzen
Sachen sind, die du noch nicht verstanden hast. Wenn man ein mal weis,
wie es funktioniert ist es garnicht mehr so schwer.
Z.B. Strukturen, zu meinen QBasic zeiten wusste ich auch nicht was diese
sind. Damals kam ich ohne aus, aber meine aktuellen Projekte könnte ich
ohne garnicht realisieren, das wäre einfach zu kompliziert und
umständlich. Mit der Hilfe und dem Codearchiv sollte es kein Problem sein
Antworten auf deine Fragen zu finden und hier im Forum gibs ja sogar ein
Anfängerforum, mit etwas Glück und Höflichkeit wird dir sicher auch hier
einer Helfen

Was dein Projekt genau ist weis ich jetzt nicht, ist im Prinzip egal, aber ich
denke wenn du in der Lage bist so ein großes Projekt durch zu ziehen,
wirste es auch schaffen Strukturen, Prozeduren usw. zu benutzten.
Und wenn du das geschaft hast wäre es wohl angebracht, dein Projekt mit
V4.0 komplet neu zu Programmieren. Damit dürfte dein Code auch um
einiges schrumpfen

wann alles umsonst gewesen sein. Du hast ja bei der portierung nach
V3.94 schon arge Probleme.
MFG PMV
Hallo Freedimension!
Ok, einige Garbage at end of line -Fehler, die ich aber rauskriege (die waren kein Problem, komisch allerdings, dass die bei 3.3 funktioniert haben).
Schwieriger (für mich) wird es hier:
OpenConsole()
a = 55
a$ = StrF(55)
PrintN(a$)
Input()
End
Hierbei bekomme ich 6 Stellen nach dem Komma angezeigt, die ich gar nicht haben will, und ich hab keine Ahnung, wie ich das wegkriege. Natürlich einfach Str statt Strf werdet ihr sagen. Aber manche Variablen haben eine Stelle nach dem Komma, die dann auch angezeigt werden muss. PB 3.3 hat das alles automatisch richtig gemacht, ohne dass ich mich drum kümmern musste.
Und richtig am Schlauch stehe ich bei Keyboard-Commands.
Hier sagt er mir nämlich: 'OpenScreen() or OpenWindow() must be called before use the keyboard commands'.
Jetzt komme ich aber mit Fenstern in PB einfach nicht klar, weswegen ich ausschließlich die Console zur Darstellung benutze.
Wenn ich aber bei der Console Keyboard-Commands nicht mehr benutzen kann, habe ich ein echtes Problem.
Ich versuch zwar gerade, dass mit den Fenster irgendwie doch noch zu lernen, aber damit bin ich schon damals kläglich gescheitert, als ich mit PB angefangen habe. Diese ganzen Gadgets, Parametern usw. *stöhn*
Im Gegensatz dazu ist die Console so schön einfach. Da machste einfach Print, und dann ist da.
Und selbst wenn ich es irgendwann mal durchsteigen sollte mit den Fenstern, müsste ich dann immer noch die gesamte Darstellung meines Programmes umstellen, was für einen Programmieranalphabeten wie mir sehr viel Arbeit und Mühe bedeutet - bei einer sehr hohen Fehlerwahrscheinlichkeit. Mit der Console war das - wie gesagt - so schön einfach ... *seufz*
Viele Grüße
Oli
Ok, einige Garbage at end of line -Fehler, die ich aber rauskriege (die waren kein Problem, komisch allerdings, dass die bei 3.3 funktioniert haben).
Schwieriger (für mich) wird es hier:
OpenConsole()
a = 55
a$ = StrF(55)
PrintN(a$)
Input()
End
Hierbei bekomme ich 6 Stellen nach dem Komma angezeigt, die ich gar nicht haben will, und ich hab keine Ahnung, wie ich das wegkriege. Natürlich einfach Str statt Strf werdet ihr sagen. Aber manche Variablen haben eine Stelle nach dem Komma, die dann auch angezeigt werden muss. PB 3.3 hat das alles automatisch richtig gemacht, ohne dass ich mich drum kümmern musste.
Und richtig am Schlauch stehe ich bei Keyboard-Commands.
Hier sagt er mir nämlich: 'OpenScreen() or OpenWindow() must be called before use the keyboard commands'.
Jetzt komme ich aber mit Fenstern in PB einfach nicht klar, weswegen ich ausschließlich die Console zur Darstellung benutze.
Wenn ich aber bei der Console Keyboard-Commands nicht mehr benutzen kann, habe ich ein echtes Problem.
Ich versuch zwar gerade, dass mit den Fenster irgendwie doch noch zu lernen, aber damit bin ich schon damals kläglich gescheitert, als ich mit PB angefangen habe. Diese ganzen Gadgets, Parametern usw. *stöhn*
Im Gegensatz dazu ist die Console so schön einfach. Da machste einfach Print, und dann ist da.

Und selbst wenn ich es irgendwann mal durchsteigen sollte mit den Fenstern, müsste ich dann immer noch die gesamte Darstellung meines Programmes umstellen, was für einen Programmieranalphabeten wie mir sehr viel Arbeit und Mühe bedeutet - bei einer sehr hohen Fehlerwahrscheinlichkeit. Mit der Console war das - wie gesagt - so schön einfach ... *seufz*

Viele Grüße
Oli
@oli
Hierbei bekomme ich 6 Stellen nach dem Komma angezeigt, die ich gar nicht haben will, und ich hab keine Ahnung, wie ich das wegkriege. Natürlich einfach Str statt Strf werdet ihr sagen. Aber manche Variablen haben eine Stelle nach dem Komma, die dann auch angezeigt werden muss. PB 3.3 hat das alles automatisch richtig gemacht, ohne dass ich mich drum kümmern musste.
StrF()
Syntax
Ergebnis$ = StrF(Wert.f [, Stellen])
Beschreibung
Konvertiert eine Fließkomma-Zahl in einen String. Eine maximale Zahl an Dezimalstellen ('Stellen') kann angegeben werden. Die Zahl wird nicht gerundet, sondern abgeschnitten.
Hinweis: Ganzzahlen (mit Vorzeichen) werden mit dem Befehl Str() und vorzeichenlose Zahlen mit dem Befehl StrU() konvertiert.
Unterstützte OS
All
Code: Alles auswählen
OpenConsole()
a = 55
For Stellen =0 To 5
a$ = StrF(55,Stellen)
PrintN(a$)
Next
Input()
End
Friedhelm