Hello, World! auf Xbase: Unterschied zwischen den Versionen

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:


  dir *.prg /b > project.txt
  dir *.prg /b > project.txt
  pbuild @project.txt
  [[pbuild]] @project.txt


Die erste Anweisung erzeugt eine Liste mit den Namen der im Verzeichnis vorhandenen .prg-Dateien. Die zweite Anweisung startet den ProjectBuilder von Xbase++ und übergibt diese Liste als Input-Parameter (erkennbar am vorangestellten @). PBuild erzeugt jetzt eine Project.XPJ:
Die erste Anweisung erzeugt eine Liste mit den Namen der im Verzeichnis vorhandenen .prg-Dateien. Die zweite Anweisung startet den ProjectBuilder von Xbase++ und übergibt diese Liste als Input-Parameter (erkennbar am vorangestellten @). PBuild erzeugt jetzt eine Project.XPJ:
Zeile 44: Zeile 44:
  [project.EXE]
  [project.EXE]
     HeWo.prg
     HeWo.prg
Da wir keine Vorgaben bezüglich des Programmnamens gemacht haben, verwendet PBuild den Namen der Eingabedatei: so wird aus project.txt eben project.exe.


----
----
Zeile 68: Zeile 71:


Jetzt steht einem kleinen Testlauf nichts im Wege:
Jetzt steht einem kleinen Testlauf nichts im Wege:
C:\Entwicklungen\Test\HelloWorld>project
Hello, World!
Press any key to continue...
Das Programm läuft also innerhalb der Befehlseingabe und nicht als eigenständiges Programmfenster.
Bevor wir jetzt den nächsten Schritt tun, ergänzen wir noch zwei Zeilen:
FUNCTION MAIN
  ? "Hello, World!"
  ? MaxRow()
  ? MaxCol()
  WAIT
RETURN(.T.)
Ein erneutes PBuild, und wir können project.exe wieder starten:
C:\Entwicklungen\Test\HelloWorld>hewo
Hello, World!
        76
        99
Press any key to continue...

Version vom 29. April 2013, 13:03 Uhr

Da Xbase++ quasi alle Vor- und Nachteile von Clipper "geerbt" hat, greifen auch die normalen Clipper-Funktionen und Befehle.

Voraussetzung ist eine Installation von Xbase++ und die Einbindung der Verzeichnisse in die PATH-Anweisung.

Mittels eines Editors erzeugen wir ein Programm, HeWo.prg:

FUNCTION MAIN
  ? "Hello, World!"
  WAIT
RETURN(.T.)

Wir sind immer noch in der Befehlseingabe:

dir *.prg /b > project.txt
pbuild @project.txt

Die erste Anweisung erzeugt eine Liste mit den Namen der im Verzeichnis vorhandenen .prg-Dateien. Die zweite Anweisung startet den ProjectBuilder von Xbase++ und übergibt diese Liste als Input-Parameter (erkennbar am vorangestellten @). PBuild erzeugt jetzt eine Project.XPJ:


//
// Project - Definition - File created by PBUILD Version  1.90.355
// Date: 29.04.2013 Time: 11:59:32
//

[PROJECT]
   COMPILE       = xpp
   COMPILE_FLAGS = /q
   DEBUG         = yes
   GUI           = no
   LINKER        = alink
   LINK_FLAGS    = 
   RC_COMPILE    = arc
   RC_FLAGS      = /v
   PBUILD        = @project.txt
   MAKE          = 
   PROJECT.XPJ

[PROJECT.XPJ]
   project.EXE

[project.EXE]
   HeWo.prg


Da wir keine Vorgaben bezüglich des Programmnamens gemacht haben, verwendet PBuild den Namen der Eingabedatei: so wird aus project.txt eben project.exe.


Mit einem Aufruf von PBuild wird diese Datei abgearbeitet:

C:\Entwicklungen\Test\HelloWorld>pbuild
Xbase++ (R) ProjectBuilder Version  1.90.355
Copyright (c) Alaska Software 1997-2009. All rights reserved.
xpp /q /b /dDEBUG @C:\Users\Georg\AppData\Local\Temp\04295455.tmp
Xbase++ (R) Compiler 1.90.355 Apr  9 2009
Copyright (c) Alaska Software. All rights reserved.
File HEWO.PRG successfully compiled. 

alink @C:\Users\Georg\AppData\Local\Temp\04295461.tmp
Alaska 32-Bit Linker Version 1.90.355
Copyright (c) Alaska Software 1997-2009. All rights reserved.


project.EXE created successfully.
Processing time:      0.23 secs.

Jetzt steht einem kleinen Testlauf nichts im Wege:


C:\Entwicklungen\Test\HelloWorld>project

Hello, World!
Press any key to continue...

Das Programm läuft also innerhalb der Befehlseingabe und nicht als eigenständiges Programmfenster.

Bevor wir jetzt den nächsten Schritt tun, ergänzen wir noch zwei Zeilen:

FUNCTION MAIN
  ? "Hello, World!"
  ? MaxRow()
  ? MaxCol()
  WAIT
RETURN(.T.)

Ein erneutes PBuild, und wir können project.exe wieder starten:

C:\Entwicklungen\Test\HelloWorld>hewo

Hello, World!
        76
        99
Press any key to continue...