Kleine Ansammlung an Anfänger-Fragen (gelöst)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Kleine Ansammlung an Anfänger-Fragen (gelöst)

Beitrag von PureBaser »

Hi Leute,

ich fange mal ohne Umscheife an:

1. Wie kriege ich PB dazu, dass ein Byte den Wertebereich von 0 bis 255 statt den normalen (-128) - (+127) bekommt?

2. Sind in der Konsole gemäß der Hilfe wirklich keine deutschen Umlaute möglich? Vielleicht gehts mit der Ascii-Tabelle?

3. Was muss ich schreiben, damit mein Konsolenprogramm jederzeit mit der Escape-Taste beendet wird, außer CloseConsole() natürlich.

4. Die letzte und wohl kniffligste Frage:
Nehmen wir an ich habe 5 Prodezuren. Und alle Prodezuren besitzen den gleichen Anfangscode und den gleichen Endcode, "nur" eben die Mitte ist anders. Geht es auch anders? Evtl. Prodezur in Prodezur?

Code: Alles auswählen

Procedure Pro1()
PrintN("Anfang")
PrintN("Inhalt A")
PrintN("Ende")
EndProcedure

Procedure Pro2()
PrintN("Anfang")
PrintN("Inhalt B")
PrintN("Ende")
EndProcedure

Procedure Pro3()
PrintN("Anfang")
PrintN("Inhalt B")
PrintN("Ende")
EndProcedure
Thx!

P.S: Kann erst Freitag antworten
Zuletzt geändert von PureBaser am 15.04.2006 22:16, insgesamt 1-mal geändert.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

1. Gar nicht, außer wenn es unsigned bytes mittlerweile geben sollte (hab die 4.0 Beta noch nicht so richtig erforscht)

2. In der Standard-7-Bit-ASCII-Tabelle gibt's keine Umlaute, aber in der erweiterten. Du kannst z.B. das große "Ä" per Chr(142) anzeigen. Am besten schreibst Du Dir eine PrintN()-Funktion, die vorher alle Umlaute in die entsprechenden anderen Codes umwandelt, dann müßte es klappen.

3. Gute Frage, nur leider hab ich darauf keine gute Antwort :mrgreen:

4. Die letzte und wohl einfachste Frage :mrgreen: wenn die Teile exakt übereinstimmen und es keine Komplikationen gibt, dann machst Du in der Tat Prozeduren in Prozeduren. Sprich, Du rufst von der Prozedur aus die beiden anderen auf, z.B.

Code: Alles auswählen

Procedure Anfang()
  PrintN("Anfang")
EndProcedure

Procedure Ende()
  PrintN("Ende")
EndProcedure

Procedure Pro1()
  Anfang()
  PrintN("Inhalt A")
  Ende()
EndProcedure

Procedure Pro2()
  Anfang()
  PrintN("Inhalt B")
  Ende()
EndProcedure

Procedure Pro3()
  Anfang()
  PrintN("Inhalt C")
  Ende()
EndProcedure
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

1. (Var.b & $FF)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Seit PB 4 gibt es "char" . Mit 3.94 reicht "b.b & $ff"
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

Beitrag von ts-soft »

PureBaser hat geschrieben:Hi Leute,

ich fange mal ohne Umscheife an:

1. Wie kriege ich PB dazu, dass ein Byte den Wertebereich von 0 bis 255 statt den normalen (-128) - (+127) bekommt?

Code: Alles auswählen

b.b = 200
Debug StrU(b, #Byte) 
PureBaser hat geschrieben: 2. Sind in der Konsole gemäß der Hilfe wirklich keine deutschen Umlaute möglich? Vielleicht gehts mit der Ascii-Tabelle?

Code: Alles auswählen

Procedure.s OEM2Char(Text.s)
  OemToChar_(Text, Text)
  ProcedureReturn Text
EndProcedure

Procedure.s Char2OEM(Text.s)
  CharToOem_(Text, Text)
  ProcedureReturn Text
EndProcedure
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
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Hi!
Zu 5:

Da PB AFAIK keine richtig objektorientierte Sprache ist, und auch wohl nicht so schnell werden wird, geht das nur, wie Zeha schon beschrieb.
Eine "komfortable" Möglichkeit, wie die Vererbung von Klassen-Variablen, Interfaces, Konstruktoren etc., (wie in Java) habe ich auch noch nicht gefunden...

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Danke an allen für die Hilfe!

@Ts-Soft:
Ich kapier deinen zweiten Code nicht ganz, scheint nicht so zu funktionieren ?! :(
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

Beitrag von ts-soft »

PureBaser hat geschrieben:Danke an allen für die Hilfe!

@Ts-Soft:
Ich kapier deinen zweiten Code nicht ganz, scheint nicht so zu funktionieren ?! :(

Code: Alles auswählen

Procedure.s OEM2Char(Text.s)
  OemToChar_(Text, Text)
  ProcedureReturn Text
EndProcedure

Procedure.s Char2OEM(Text.s)
  CharToOem_(Text, Text)
  ProcedureReturn Text
EndProcedure

OpenConsole()
PrintN(Char2OEM("ÄÖÜ"))
Input()
Funzt nicht wenn die IDE im UTF-8 Modus läuft!
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
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Danke!!!
PB4 & WinXP_SP2
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

@Tafkadasom2k5

ich hoffe doch das Purebasic nicht OOP wird!!!

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten