Vorschlag zu Mid()
Vorschlag zu Mid()
Der parameter Length ist immernoch nicht optional.
Ich schlage deshalb vor, dies in einer der nächsten versionen
nachzuholen, da dies eben normalerweise standard ist.
Was sagt Ihr dazu?
Ich schlage deshalb vor, dies in einer der nächsten versionen
nachzuholen, da dies eben normalerweise standard ist.
Was sagt Ihr dazu?
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
- 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
Und was soll dann passieren, nur ein Zeichen? Weil
alle Zeichen wäre blödsinn, dafür gibts ja Right()
alle Zeichen wäre blödsinn, dafür gibts ja Right()
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.

- NicTheQuick
- Ein Admin
- Beiträge: 8809
- 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
Ja, ich finde das mit dem optionalen Parameter auch eine gute Idee. Es ist
nämlich nicht das selbe wie [c]Right()[/c]. So sollte es praktisch
funktionieren.
Hat noch jemand eine Idee, wie man das ganze auch als Makro
realisieren könnte? Ich habs nicht geschafft. Hab mir aber auch nicht viel
Zeit dafür genommen.
nämlich nicht das selbe wie [c]Right()[/c]. So sollte es praktisch
funktionieren.
Code: Alles auswählen
Procedure.s MidU(a.s, b.l, c.l = -1)
If c = -1
ProcedureReturn Mid(a, b, Len(a) - b + 1)
Else
ProcedureReturn Mid(a, b, c)
EndIf
EndProcedure
String.s = "Hallo du da"
Debug MidU(String, 4, 3)
Debug MidU(String, 4)
realisieren könnte? Ich habs nicht geschafft. Hab mir aber auch nicht viel
Zeit dafür genommen.
- 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
Nur die Zählung ist von der anderen Seite:
Ich wüßte nicht, wann ich es so rum vorteilhaft einsetzen könnte?
Code: Alles auswählen
Procedure.s MidU(a.s, b.l, c.l = -1)
If c = -1
ProcedureReturn Mid(a, b, Len(a) - b + 1)
Else
ProcedureReturn Mid(a, b, c)
EndIf
EndProcedure
String.s = "Hallo du da"
Debug MidU(String, 4)
Debug Right(String, 8)
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.

-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
- 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
Code: Alles auswählen
Macro MidU(a,b)
Mid(a, b, Len(a) - b + 1)
EndMacro
String.s = "Hallo du da"
Debug MidU(String, 4)
If geht schon, aber die Kombination, wie von Nick gepostet, wird wohl
nicht gehen. Ich denke das MidU makro sollte es aber auch tun
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.

Nein das ist kein blödsinn. Seit den seligen C64 zeiten ist das so.ts-soft hat geschrieben:Und was soll dann passieren, nur ein Zeichen? Weil
alle Zeichen wäre blödsinn, dafür gibts ja Right()
C64, Amiga (BB2, AmosPro) etc. Warum PB da so eigensinnig ist
habe ich bis heute noch nicht verstanden. Ein argument wie "Dafür gibts
Right()" ist nicht sinn der sache. Bei Right() muss ich nähmlich von hinten
anfangen zu zählen und bei Mid() von vorne. Manchmal (je nach programmierung)
setzt man dazu eine variable ein. Es ist halt blöd wenn man dann umrechnen
muss, nur um mit Right() von hinten beginnen zu müssen/können.
Ausserdem war ich (und sicherlich auch viele andere) schon
oft genug in der situation das man einen optionalen parameter brauchte.
- 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
Kannst doch jetzt das Macro nehmen, oder hol die Brotkiste wieder raus 

Zuletzt geändert von ts-soft am 08.02.2006 02:38, insgesamt 1-mal geändert.
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.
