Wäre es nicht mal wieder an der Zeit...

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

7x7 hat geschrieben:Mann, gebt euch mal mehr Mühe :mrgreen:
Mach du mal keine Fehler.
Erstens sind das 738 Zeichen und zweitens funktioniert das Laden aus Dateien nicht mehr und man muss jetzt nach Eingabe des Dateinamens nochmal Return drücken, was ebenfalls falsch ist.

Stargates Code ist also noch gültig. Heute Nacht war es wohl zu spät das mit dem "Not n" noch zu sehen. :wink:
Sirius-2337
Beiträge: 71
Registriert: 29.05.2010 20:55

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von Sirius-2337 »

NicTheQuick hat geschrieben:
7x7 hat geschrieben:Mann, gebt euch mal mehr Mühe :mrgreen:
Mach du mal keine Fehler.
Erstens sind das 738 Zeichen und zweitens funktioniert das Laden aus Dateien nicht mehr und man muss jetzt nach Eingabe des Dateinamens nochmal Return drücken, was ebenfalls falsch ist.
Nicht ganz. Es sind 638 Zeichen und das Laden aus Dateien funktioniert bei mir noch. Dass mit dem doppelten Return drücken stimmt allerdings.
Benutzeravatar
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

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von ts-soft »

Der letzte Beitrag bekommt 10 Stunden gutgeschrieben, so lange dauerte in etwa die Wartung für das PureBoard,
ca 11:30 -21:30, also wenn bis Morgen 20:00 Uhr kein Beitrag mehr kommt, hat dieser:
http://www.purebasic.fr/german/viewtopi ... 29#p301329 gewonnen, d. h. wenn er nicht wegen Nichtfunktion
disqualifiziert werden sollte :mrgreen:

Nur mal vorsichtshalber festgehalten.
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.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von RSBasic »

Was bekommt eigentlich der Gewinner? Wurde das schon festgelegt? Wenn nicht, dann kriegt er ein Bild per PayPal, falls er sowas hat. :mrgreen:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
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

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von ts-soft »

RSBasic hat geschrieben:Was bekommt eigentlich der Gewinner? Wurde das schon festgelegt? Wenn nicht, dann kriegt er ein Bild per PayPal, falls er sowas hat. :mrgreen:
Naja, sowas in der Art: http://www.purebasic.fr/german/memberli ... ofile&u=21
Aber nicht den Schnürrsenkel, den meine ich nicht :D
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.
Bild
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von helpy »

Ich habe da mal drüber geschaut.

Im Vergleich zum Original-Code wurde die Funktionalität beim Kürzen verändert!
Manche Meldungen werden nicht mehr ausgegeben!

Die folgende Aussage (siehe http://purebasic.fr/german/viewtopic.ph ... 48#p301148) stimmt nicht mehr!
Der veränderte Code muss natürlich genauso funktionieren wie vorher.
Es wäre gut, wenn an irgendeiner Stelle die offiziellen Regeln als solche gekennzeichnet werden.
Sind die Regeln von t-soft die allgemein gültigen für diesen Contest?
==> http://purebasic.fr/german/viewtopic.ph ... 51#p301151 :
Zu den Regeln würde ich Vorschlagen:
1. EnableExplicit in der ersten Zeile erforderlich, so bleibt es wenigstens etwas lesbar :mrgreen:
(DisableExplicit dann natürlich nicht erlaubt!)
2. Macros erlaubt.
3. Nur Funktionen erlaubt, die auf allen 3 OSes zur Verfügung stehen.
4. Compilerdirektiven sind nicht erlaubt, also auch keine externen Dateien.
... oder gehören da noch welche dazu?

Da ja anscheinend die Funktionalität zumindest teilweise geändert werden darf ... und das Programm nicht 100%-ig dasselbe machen muss, wie das Original, frage ich mich natürlich, wo hier die Grenze ist.

Danke schon mal für Eure Aufklärung.

lg,
guido
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

635

Code: Alles auswählen

EnableExplicit
Global a,d,f,j,m,n,c.s,h.s,i.s
Macro U
h=Input()
EndMacro
Macro W
EndIf
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If ReadFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
h=i
While h
m+1
h=Mid(i,m,1)
If FindString("+-<>.,[]",h)
c+h
j-((Asc(h)/23)!3-3)/3
W
Wend
i="Uneven brackets"
If j=0
Dim k(d)
m=@c
While PeekA(m)
n=PeekA(m)-44
i=h
If n<2
k(f)-n
W
If n=0
If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>15
If n>46
a=(k(f)XOr n/49)!1*(48-n)
j=a
While j
m+a
j-((PeekA(m)/23)!3-3)/3
Wend
Else
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
d+1
ReDim k(d)
W
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+RSet("Press ENTER to exit",22,#LF$))
U
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von STARGÅTE »

Ich stimme helpy zu.
Die letzte änderung ist auf jedenfall nicht gültig, da sie die Funktion des Programm eindeutig geändert hat.
Nicht ohne Grund stand da ein Else und nicht nur ein EndIF
Auch seit dem IMA bei einer falschen Eingabe, wurde eigentlich der Code schon "illigal" verkürzt.

EDIT: mit NicTheQuick Code scheints wieder zu laufen.
Wäre aber gut, wnmen irgendwer den die StringVariable "c" "initialisieren" könnte, damit @c nicht 0 ist.
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
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

632 8)

Und damit ist Dank Stargate der Fehler auch gelöst.

Code: Alles auswählen

EnableExplicit
Global a,d,f,j,m,n,h.s,c.s=h,i.s
Macro U
h=Input()
EndMacro
Macro W
EndIf
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If ReadFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
h=i
While h
m+1
h=Mid(i,m,1)
n=FindString("+-<>.,[]",h)
If n
c+h
W
j-n/7*(n*2-15)
Wend
i="Uneven brackets"
If j=0
Dim k(d)
m=@c
While PeekA(m)
n=PeekA(m)-44
i=h
If n<2
k(f)-n
W
If n=0
If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>2
If n>46
a=(k(f)XOr n/49)!1*(48-n)
j=a
While j
m+a
j-((PeekA(m)/23)!3-3)/3
Wend
Else
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
d+1
ReDim k(d)
W
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+RSet("Press ENTER to exit",22,#LF$))
U
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von STARGÅTE »

Im übrigen möchte ich an dieser Stelle darauf hinweise, dass folgender Code so erhalten bleiben muss:
Global a,d,f,j,m,n,h.s,c.s=h,i.s
das c.s = h gesetzt wird, sorgt dafür, dass @c ein gültiger String-Pointer ist, sodass es kein IMA mehr gibt.
Wehe das kürzt jemand weg!
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
Antworten