printf

Anfängerfragen zum Programmieren mit PureBasic.
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: printf

Beitrag von funkheld »

Hallo, warum wird hier bitte auf der Console nichts angezeigt?

Gruss

Code: Alles auswählen

ImportC ""
  wprintf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0)
EndImport

OpenConsole()
myVariable.s = "value"
wprintf ("My Text: %s", @myVariable)
Input()
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: printf

Beitrag von RSBasic »

Unicode und Console als Executable-Format müssen aktiviert sein.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: printf

Beitrag von funkheld »

Jup, danke.

Gruss
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: printf

Beitrag von _JON_ »

Du musst natürlich nicht unbedingt auf Unicode wechseln.
Bei reinen Konsolenanwendungen ist das nicht immer die beste Wahl.

Code: Alles auswählen

ImportC ""
  CompilerIf #PB_Compiler_Unicode
    printf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0) As "wprintf"
  CompilerElse
    CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
      printf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0) As "_printf"
    CompilerElse
      printf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0) As "printf"
    CompilerEndIf    
  CompilerEndIf
EndImport

OpenConsole()
myVariable.s = "value"
printf ("My Text: %s", @myVariable)
Input()
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
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: printf

Beitrag von ts-soft »

Ich würde es aber eher umgekehrt machen! (nur dann funktioniert es auch, wie gedacht).

Code: Alles auswählen

ImportC ""
  CompilerIf #PB_Compiler_Unicode
    CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
      printf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0) As "_wprintf"
    CompilerElse
      printf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0) As "wprintf"
    CompilerEndIf
  CompilerElse
    printf(format.s, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0)
  CompilerEndIf
EndImport

OpenConsole()
myVariable.s = "value"
printf ("My Text: %s", @myVariable)
Input() 
Sobald ich das As Keyword benutze, muß die Original-Schreibweise eingehalten werden, also führender Unterstrich bei x86.
Sobald ich das As Keyword nicht nutze, kann ich die Original-Schreibweise nutzen, ohne Unterstrich.

Gruß
Thomas
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
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: printf

Beitrag von _JON_ »

Oh, gut aufgepasst Thomas.
Dachte wirklich ich hätte alle 4 Möglichkeiten gestestet :oops:
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Antworten