Seite 2 von 2
Verfasst: 14.04.2008 21:47
von PMV
AND51 hat geschrieben:Hier noch ein Klassiker in PB Syntax:
lol ... ich kannte den glaub nocht nicht, ist aber wirklich gut
Code: Alles auswählen
Procedure.s Str1000(Quad.q)
Protected s.s = StrQ(Quad)
Protected l.l = Len(s)
Protected i.l, r.s
Protected m.s
If Quad < 0 : m = "-" : s = Right(s, Len(s) - 1) : l - 1 : EndIf
For i = l To 4 Step -3
r = "." + Mid(s, i - 2, 3) + r
Next
ProcedureReturn m + Left(s, i) + r
EndProcedure
Ich hab da auch noch ne Variante
MFG PMV
Verfasst: 15.04.2008 07:03
von KeyKon
Naja, ich finde es besteht doch ein kleiner unterschied zwischen einem Code der eine Zahl in Tausender unterteilt und einem vorgefertigtem CS *g*
Ich fände eine Funktion wie in PHP (number_format) doch manchmal ganz praktisch...
Sicher kann man das alles per Hand lösen^^ Aber wir reden hier von PureBasic^^ Einer Sprache die doch eigentlich sehr simpel und praktisch sein sollte *g*
Verfasst: 15.04.2008 07:15
von ts-soft
KeyKon hat geschrieben:Sicher kann man das alles per Hand lösen^^ Aber wir reden hier von PureBasic^^ Einer Sprache die doch eigentlich sehr simpel und praktisch sein sollte *g*
siehe:
http://purebasic.fr/german/viewtopic.ph ... 775#194775
Verfasst: 15.04.2008 14:45
von KeyKon
Hab ich ja schon gesehen (*g*) aber wie gesagt, solche Funktionen könnten meiner Meinung nach schon in PB integriert sein....
Aber is ja egal, ich will hier keine Szene veranstalten ^^
Verfasst: 15.04.2008 17:19
von Fluid Byte
Sicher kann man das alles per Hand lösen^^ Aber wir reden hier von PureBasic^^ Einer Sprache die doch eigentlich sehr simpel und praktisch sein sollte *g*
1.) PB ist
sehr simpel und praktisch
2.) PB ist
kein GameMaker
3.) Das von ts-soft gepostete Snippet kommt ohne API aus, es ist reiner PB code. Was wieder beweist das wenn etwas in PB "fehlt" man es meistens trotzdem nativ umsetzen kann. Man muss bzw. darf selber programmieren.
4.) Was Fred in den letzten Jahren bis zur heutigen Version geleistet hat ist gigantisch. Aber natürlich ist es unmöglich für jede Situation einen Befehl zu Verfügung zu stellen. Dann hol dir lieber ein Zusammen-Klick-Tool.
Verfasst: 15.04.2008 19:28
von KeyKon
Oh man das man hier immer gleich "zurechtgewiesen" wird nur weil man einen Vorschlag macht...
Verfasst: 16.04.2008 08:43
von Shardik
KeyKon hat geschrieben:Warum is so eine Funktion eig nich in PB integriert? Wär doch ma ganz praktisch...
In PB ist so eine Funktion nicht integriert, aber ins Windows API...
Paul hatte dafür im englischen Forum folgende Prozedur vorgestellt (
http://www.purebasic.fr/english/viewtop ... 01&start=1):
Code: Alles auswählen
Procedure.s FormatNumber(Number.q)
Buffer.s=Space(255)
GetNumberFormat_(0,0,StrQ(Number),0,@Buffer,Len(Buffer))
ProcedureReturn Buffer
EndProcedure
Debug FormatNumber(123456789)
Verfasst: 16.04.2008 10:19
von AND51
@Shradik:
Ein Buffer von 20 SPaces reicht, da Quads inkl. Minusvorzeichen maxa. 20-stellig sind.
Fluid Byte hat geschrieben:PureBasic[, e]iner Sprache die doch eigentlich sehr simpel und praktisch sein sollte *g*
[...]
2.) PB ist
kein GameMaker
Nun, ich finde auch, dass ein paar Befehle z. B. für die Math- oder STring-Lib nicht schaden könnten.
Überlegen wir doch mal:
StringField() könnte locker selbst realisiert werden. Das geht genauso einfach wie
Tausendertrennzeichen(). Warum nicht also auch ein paar "wünschenswerte" Befehle einbauen?
Natürlich wollen wir kein
CreateGame() Befehl, wir wollen nur, dass ein paar klein(st)e Dinge angenehmer gestaltet werden.
ReceiveHTTPFile() ist schließlich auch nur ein Ersatz für
URLDownloadToFile_() und kann (wenn auch mit etwas mehr Aufwand) auch selbst realisiert werden. Es stellt auch niemand Fred's 'gigantische Leistung' in Frage. Wir wollen ihm ja nichts Böses, im Gegenteil, wir wollen helfen. Er muss ja
Tausendertrennzeichen() nicht selbst coden und implementieren, er kann ja auch unsere Vorlagen nehmen, die wir hier gegenseitig optimieren, ggf. selbst noch ein wenig dran rumbasteln und dann implementieren.