Basics of Harbour
Description of the page content
Conversion of old BASIC programs to Harbour in order to learn the basics of this language.
3D Plot
Original version in BASIC:
Creative Computing (Morristown, New Jersey, USA), ca. 1980.
This version in Harbour:
Copyright (c) 2026, Marcos Cruz (programandala.net)
SPDX-License-Identifier: Fair
Written on 2026-07-09:
Last modified: 20260709T1821+0200.
clear screen
print_credits()
clear screen
draw()
procedure print_credits()
?? "3D Plot"
?
? "Original version in BASIC:"
? " Creative computing (Morristown, New Jersey, USA), ca. 1980."
?
? "This version in Harbour:"
? " Copyright (c) 2026, Marcos Cruz (programandala.net)"
? " SPDX-License-Identifier: Fair"
?
? "Press any key to start the program. "
inkey(0)
function a(z)
return 30 * exp(-z * z / 100)
procedure draw()
#define size 56
local row := ""
local z := 0
local y1 := 0
local l := 0
for x := -30.0 to 30.0 step 1.5
row := replicate(" ", size)
l := 0
y1 := 5 * int(sqrt(900 - x * x) / 5)
for y := y1 to -y1 step -5
z := int((25 + a(sqrt(x * x + y * y)) - 0.7 * y))
if z > l
l := z
row := substr(row, 1, z) + "*" + substr(row, z + 2)
endif
next
? row
next
Diamond
Original version in BASIC:
Example included in Vintage BASIC 1.0.3.
http:
This version in Harbour:
Copyright (c) 2026, Marcos Cruz (programandala.net)
SPDX-License-Identifier: Fair
Written on 2026-07-09.
Last modified: 20260709T1138+0200.
#define lines 17
for i := 1 to lines / 2 + .5
for j := 1 to (lines + 1) / 2 - i + 1
?? " "
next
for j := 1 to i * 2 - 1
?? "*"
next
?
next
for i := 1 to lines / 2
for j := 1 to i + 1
?? " "
next
for j := 1 to ((lines + 1) / 2 - i) * 2 - 1
?? "*"
next
?
next
Related pages
- Basics off
- Metaproject about the "Basics of…" projects.
- Basics of 8th
- Conversion of old BASIC programs to 8th in order to learn the basics of this language.
- Basics of Ada
- Conversion of old BASIC programs to Ada in order to learn the basics of this language.
- Basics of Arturo
- Conversion of old BASIC programs to Arturo in order to learn the basics of this language.
- Basics of C#
- Conversion of old BASIC programs to C# in order to learn the basics of this language.
- Basics of C3
- Conversion of old BASIC programs to C3 in order to learn the basics of this language.
- Basics of Chapel
- Conversion of old BASIC programs to Chapel in order to learn the basics of this language.
- Basics of Clojure
- Conversion of old BASIC programs to Clojure in order to learn the basics of this language.
- Basics of Crystal
- Conversion of old BASIC programs to Crystal in order to learn the basics of this language.
- Basics of D
- Conversion of old BASIC programs to D in order to learn the basics of this language.
- Basics of Elixir
- Conversion of old BASIC programs to Elixir in order to learn the basics of this language.
- Basics of F#
- Conversion of old BASIC programs to F# in order to learn the basics of this language.
- Basics of Factor
- Conversion of old BASIC programs to Factor in order to learn the basics of this language.
- Basics of FreeBASIC
- Conversion of old BASIC programs to FreeBASIC in order to learn the basics of this language.
- Basics of Gleam
- Conversion of old BASIC programs to Gleam in order to learn the basics of this language.
- Basics of Go
- Conversion of old BASIC programs to Go in order to learn the basics of this language.
- Basics of Hare
- Conversion of old BASIC programs to Hare in order to learn the basics of this language.
- Basics of Haxe
- Conversion of old BASIC programs to Haxe in order to learn the basics of this language.
- Basics of Icon
- Conversion of old BASIC programs to Icon in order to learn the basics of this language.
- Basics of Io
- Conversion of old BASIC programs to Io in order to learn the basics of this language.
- Basics of Janet
- Conversion of old BASIC programs to Janet in order to learn the basics of this language.
- Basics of Julia
- Conversion of old BASIC programs to Julia in order to learn the basics of this language.
- Basics of Kotlin
- Conversion of old BASIC programs to Kotlin in order to learn the basics of this language.
- Basics of Lobster
- Conversion of old BASIC programs to Lobster in order to learn the basics of this language.
- Basics of Lua
- Conversion of old BASIC programs to Lua in order to learn the basics of this language.
- Basics of Nature
- Conversion of old BASIC programs to Nature in order to learn the basics of this language.
- Basics of Neat
- Conversion of old BASIC programs to Neat in order to learn the basics of this language.
- Basics of Neko
- Conversion of old BASIC programs to Neko in order to learn the basics of this language.
- Basics of Nelua
- Conversion of old BASIC programs to Nelua in order to learn the basics of this language.
- Basics of Nim
- Conversion of old BASIC programs to Nim in order to learn the basics of this language.
- Basics of Nit
- Conversion of old BASIC programs to Nit in order to learn the basics of this language.
- Basics of Oberon-07
- Conversion of old BASIC programs to Oberon-07 in order to learn the basics of this language.
- Basics of OCaml
- Conversion of old BASIC programs to OCaml in order to learn the basics of this language.
- Basics of Odin
- Conversion of old BASIC programs to Odin in order to learn the basics of this language.
- Basics of Pike
- Conversion of old BASIC programs to Pike in order to learn the basics of this language.
- Basics of Pony
- Conversion of old BASIC programs to Pony in order to learn the basics of this language.
- Basics of Python
- Conversion of old BASIC programs to Python in order to learn the basics of this language.
- Basics of Racket
- Conversion of old BASIC programs to Racket in order to learn the basics of this language.
- Basics of Raku
- Conversion of old BASIC programs to Raku in order to learn the basics of this language.
- Basics of Retro
- Conversion of old BASIC programs to Retro in order to learn the basics of this language.
- Basics of Rexx
- Conversion of old BASIC programs to Rexx in order to learn the basics of this language.
- Basics of Ring
- Conversion of old BASIC programs to Ring in order to learn the basics of this language.
- Basics of Rust
- Conversion of old BASIC programs to Rust in order to learn the basics of this language.
- Basics of Scala
- Conversion of old BASIC programs to Scala in order to learn the basics of this language.
- Basics of Scheme
- Conversion of old BASIC programs to Scheme in order to learn the basics of this language.
- Basics of Styx
- Conversion of old BASIC programs to Styx in order to learn the basics of this language.
- Basics of Swift
- Conversion of old BASIC programs to Swift in order to learn the basics of this language.
- Basics of V
- Conversion of old BASIC programs to V in order to learn the basics of this language.
- Basics of Vala
- Conversion of old BASIC programs to Vala in order to learn the basics of this language.
- Basics of Zen C
- Conversion of old BASIC programs to Zen C in order to learn the basics of this language.
- Basics of Zig
- Conversion of old BASIC programs to Zig in order to learn the basics of this language.
External related links