mod_harbour

Es soll sie ja geben ...

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: mod_harbour

Beitrag von ramses »

Hallo Otto

das lässt sich mit den callback slots von summernote erledigen und funktioniert sehr gut.
Damit sind auch weitere möglichkeiten offen.
ein bsp aus dem internet zeigt dir wie das vorgehen ist.
Dateianhänge
summernote.zip
(851 Bytes) 345-mal heruntergeladen
Valar Morghulis

Gruss Carlo
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Carlos,
velen Danke. Das Beispiel funktioniert gut. In meinem Quellcode habe ich noch Problem damit.
Ich füge die Bilder mit copy & paste ein. Ich bin mir noch nicht sicher, ob dadurch auch die Uploadfunktion aufgerufen wird.
LG
Otto
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: mod_harbour

Beitrag von AUGE_OHR »

hi Otto,

habe entdeckt das es ein Video bei Youtube von dir gibt über
Installation Apache mod harbour
https://www.youtube.com/watch?v=lsmAGsbIHdQ
gruss by OHR
Jimmy
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Jimmy,
in der Zwischenzeit habe ich noch ein ganz einfaches Programm gemacht um mod harbour und APACHE zu installieren.
Diese Installation ist für WINDOWS.
Mit lieben Grüßen
Otto

Bild

Download link:
https://mybergland.com/fwforum/install_ ... arbour.exe

Hier ist der source Code.

#include "FiveWin.ch"

REQUEST DBFCDX
REQUEST DBFFPT

static oWnd

//----------------------------------------------------------------------------//

function Main()
local I := 0
local odlg
local aLinks := {}
local cText := ""
//----------------------------------------------------------------------------//

cText += "Allow Apache through Windows Firewall?"+ CRLF
cText += ""+ CRLF
cText += "->Go to Search of windows."+ CRLF
cText += "->Search 'firewall'"+ CRLF
cText += "->open the firewall"+ CRLF
cText += "->select Advanced settings."+ CRLF
cText += "->go to Inbound Rules."+ CRLF
cText += "->click on New Rule."+ CRLF
cText += "->select Program"+ CRLF
cText += "->press next"+ CRLF

cText += "->This program path: Browse for httpd.exe"+ CRLF
cText += " (usually here: c:\xampp\apache\bin"+ CRLF
cText += "->Allow the connection Next"+ CRLF
cText += "->Select 'Allow all - Domain/Private/Public'"+ CRLF
cText += "->on last page add rule name 'Apache HTTP'"+ CRLF

if lIsDir( "c:\mod_harbour" ) = .f.
lMKDir( "c:\mod_harbour" )
endif

aadd( aLinks, { "Visual Studio C++ Redistributable 2017 x86", "https: //aka.ms/vs/15/release/vc_redist.x86.exe", "Download the file and run the exe immediately" } )
aadd( aLinks, { "Visual Studio C++ Redistributable 2017 x64", "https: //aka.ms/vs/15/release/vc_redist.x64.exe", "Download the file and run the exe immediately" } )
aadd( aLinks, { "XAMPP", "https: //sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.3.8/xampp-windows-x64-7.3.8-2-VC15-installer", "Download the file and run the exe immediately" } )
aadd( aLinks, { "Allow Apache through Windows Firewall","noLink", cText } )
aadd( aLinks, { "mod harbour ZIP file", "https: //github.com/FiveTechSoft/mod_harbour/archive/master.zip", "Download the file and unpack to c:\mod_harbour" } )
aadd( aLinks, { "Setup mod harbour with bat-file", "https: //winhotel.space/modharbourdoc/setupmodharbour.bat", "Download the bat-file and run the bat-file immediately" } )
aadd( aLinks, { "Setup Apache for mod harbour", "https: //winhotel.space/modharbourdoc/modharb.exe" , "Download the file and run the modharb.exe immediately" } )

DEFINE DIALOG oDlg FROM 1, 10 TO 36, 60 ;
TITLE "Install XAMPP and mod harbour"

FOR I := 1 to len( aLinks )
buttonLinks(oDlg, I, aLinks)

NEXT


ACTIVATE DIALOG oDlg
return nil
//----------------------------------------------------------------------------//

function buttonLinks(oDlg, I, aLinks)
local oBtn

if aLinks[ I,2] = "noLink"
@ 1 + 30 * I,10 ;
BUTTON oBtn ;
PROMPT aLinks[ I,1] ;
SIZE 150, 25 ;
OF oDlg ;
PIXEL ;
ACTION ( msginfo( aLinks[ I,3] ), oBtn:disable() )
else
@ 1 + 30 * I,10 ;
BUTTON oBtn ;
PROMPT aLinks[ I,1] ;
SIZE 150, 25 ;
OF oDlg ;
PIXEL ;
ACTION ( msginfo( aLinks[ I,3] ),ShellExecute( oDlg, 'Open', aLinks[ I,2] ), oBtn:disable() )
endif
return nil
//----------------------------------------------------------------------------//

Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,
ich komme jetzt gut zurecht mit mod harbour.

Im Augenblick arbeite ich an einer Terminverwaltung ähnlich eines Pultordners oder Monatsordners.
Ich verwende nur das Dateisystem und keine Datenbanken. Für jeden Tag wird ein Folder erstellt.
Die Termine werden als HTML Datei dann in den entsprechenden Tagesordner geschoben.

Ich wünsche euch ein schönes Wochenende.
Mit freundlichem Gruß
Otto

https://mybergland.com/fwforum/scheduler.mp4

Bild

Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,
Ich möchte meine zukünftigen Programme als Webanwendungen erstellen.
Da es nicht möglich ist, sofort alles umzustellen, werde ich vorerst einen Hybrid-Modus
fahren.
Der Dialog "Karteikarte" läuft in localhost und ist eine mod Harbour Programm.
Ich erwähne dies, da keinen Unterschied zwischen der Desktop- und der Web-App sehen.

Freundliche Grüße,
Otto

Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Ich bin gerade dabei einen Zwei-Weg-Editor für die HTML Elemente zu erstellen.
Man kann damit einfach, in einer Eingabemaske mit Auswahlboxen HTML Befehle editieren.

Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,
wir arbeiten an einer QR-Code-Lösung für Restaurants.
Der Gast kann am Tisch einen QR-Code scannen und erhält dann eine Landingpage mit diversen weiterführenden Links.

Bisher haben wir die Speisekarte als PDF angezeigt.
Jetzt sind wir dabei, ein "Menü" zu programmieren.
Wir verwenden die Vorlage von W3schools.com.

https://www.w3schools.com/w3css/w3css_web_tmp_pizza.asp

Das Template haben wir nun konvertiert und eine DBF-Datei hinzugefügt.

Bild


Mit freundliche Grüße,
Otto

Bild


So sieht der Quellcode aus:

Bild
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: mod_harbour

Beitrag von ramses »

azzo hat geschrieben: Mi, 02. Jun 2021 19:52
Der Gast kann am Tisch einen QR-Code scannen und erhält dann eine Landingpage mit diversen weiterführenden Links.
Hallo Otto

was machst du wenn der Gast gar kein Smartphone hat oder gar nicht scannen will?
So ist es in unserer Clique schon lange die Regel "Keine Telefone beim zusammensitzen" .....
Valar Morghulis

Gruss Carlo
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,
Wir organisieren einen Livestream mit Jacob Koopman von Dublin nach Sillian, Hotel Bergland.

Um diese Veranstaltung zu bewerben, erstellen wir eine Landingpage mit mod harbour.

LINK to page: https://winhotel.space/jacobkoopman/home-studio.prg


Die Inhalte speichern wir in einer DBF Datei.

Mithilfe eines selbst entwickelten kleinen Programms können wir schnell die Inhalte ein die pagedata-dbf einfügen.
Gleichzeitig wird ein Hashkey erstellt. Der Hashkey wird in die Zwischenablage kopieren und kann dann einfach in den Quellcode eingefügt werden..
Ihr seht auch das Harbourino-Tool in Aktion. Harbourino ist ein Tool, mit dem man ganz einfach ein persönliches Framework entwickeln kann.

VIDEO: https://mybergland.com/fwforum/pagedatafile.mp4

So sieht zum Beispiel dann das Hauptprogramm dieser Webseite aus.


Bild


Wo ist die Webseite gehostet?
LINK zur Seite: https://winhotel.space/jacobkoopman/home-studio.prg

Bild


Wir haben eine 100/100 Fiberglas Internetanbindung.

Eine OPNsense-Firewall verteilt das Internet an meine Apache-Webserver.
Ich verwende i7-Notebooks mit guten SSD-Laufwerken und maximalem Arbeitsspeicher.

Hier ist der mod-harbour-Sourcecode:
Wir füllen einen Hash aus einer dbf-Datei und übergeben den Hash an HTML.

Code: Alles auswählen

hPageData := {=>}  

  use ( hb_GetEnv( "PRGPATH" ) + "\data\pagedata.DBF" ) new
  do while .not. eof()
      hPageData[  ALLTRIM( field->hashkey ) ] = field->text 
      select pagedata
      skip
  enddo
  select pagedata
  use
   TEMPLATE PARAMS hPageData
Hier der Zugriff von HTML aus auf den HASH.

Code: Alles auswählen

 <?prg  return hPageData[ "keyname" ] ?>


Bild

Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Video
https://winhotel.org/forum/milestone.mp4


Hallo Freunde,
Ich habe jetzt alle Funktionen im Modul „Kassenbuch“ fertig programmiert und muss jetzt nur noch nach und nach die anderen Programmmodule von WINHOTEL übernehmen.
Das geht relativ schnell, da vieles mit Copy & Paste und teilweise auch automatisch mit Fivewin-Code erledigt werden kann.

Das Kassenbuch hat bereits die gleiche Funktionalität wie unsere Desktop-Lösung.

Es gibt noch zahlreiche Log-Funktionen im Programm, was sich auf die Geschwindigkeit auswirkt. Aber beim Entwickeln ist es praktisch, Dinge nachschauen zu können.

Aussehen und Design werden wir in Zukunft sukzessive verbessern. Die Funktionalität hat jedoch Vorrang.

Mit freundlichen Grüßen,
Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,
wir haben in der Zwischenzeit ein Projekt vorgezogen.
Es ist unsere mobile Bonierung.

Bisher wird die Funkbonierung über RDP von den Smartphones aufgerufen. Jetzt wird es eine PWA.

Im Video sieht man links die FW Anwendung und auf der rechten Seite das mod harbour Programm.


LG
Otto

https://www.facebook.com/groups/modharbour.club


Bild


Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,

http://forums.fivetechsupport.com/viewt ... 0dc505c73e

Bild

Mit freundlichem Gruß
Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Freunde,

ich habe ein DOS-Buchhaltungsprogramm aus dem Jahr 1994, das ich ersetzen muss. Ich mache es mit Mod Harbour neu.

Es soll ein einfaches Programm für kleine Betriebe werden und mir auch als Übungssystem für Mod Harbour dienen.

Bild

Mit freundlichem Gruß
Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo,
um ChatGPT für uns produktiv einsetzen zu können, haben wir mit mod Harbour einen Prompt-Editor gebaut. Man kann wiederkehrende Fragen aus einem Fragenkatalog mit getesteten Prompts auswählen.
LG
Otto


Bild
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: mod_harbour

Beitrag von adrian »

Hoi Otto

Sieht alles spannend aus

mod_harbour wäre doch mal was für das Forentreffen 2024 (effektive Umsetzung einer Datenbank)
es Grüessli

Adrian
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: mod_harbour

Beitrag von ramses »

Hallo Adrian

das brauchst du doch nicht. Das kannst du doch alles auch problemlos mit Xbase++ aufbauen ..........
Valar Morghulis

Gruss Carlo
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Adrian,

ich freue mich über deinen Beitrag.
Ich denke, ob man Xb2.Net oder Mod Harbour arbeitet, ist ziemlich gleich.

Die Entwicklung für die Verwendung des Programms innerhalb eines Webbrowsers ist wirklich spannend.

Das Programm funktioniert perfekt im Büronetzwerk und bei Bedarf auch auf einem Webserver online.
Man kann mit den verschiedenen Betriebssystemen Windows, Linux, Macs und auch Geräten wie Tablets mit Android zugreifen.

Die Dialoge können einfach an die Bildschirme angepasst werden.

Du kannst viele Hilfsprogramme finden, um alles zu erstellen, was du möchtest.
Bootstrap kann dir helfen, solch fantastische Benutzeroberflächen zu gestalten. Bootstrap Tabledata, Datatables sind leistungsstarke Tabellenbrowser.
Vieles geht viel einfacher als mit der Desktop-Programmierung.

Ich denke im Moment ist es einfach wichtig, Erfahrungen auszutauschen. Auch die Serverseite und die Absicherung muss man glaube ich vorerst auch selbst lösen.
Für Mod Harbour gibt es keine Anbieter, die fertige Server anbieten. Bei Xb2.Net kenne ich mich nicht aus.


Mit freundlichem Gruß
Otto
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: mod_harbour

Beitrag von ramses »

azzo hat geschrieben: Mo, 07. Aug 2023 19:49 Bei Xb2.Net kenne ich mich nicht aus.
Mit Xb2.Net kann mit Xbase++ ein vollständiger Web-Server auch mit automatischer Let's Encrypt SSL-Zertifikats Erneuerung aufgebaut werden bezw. der Web-Server ist schon als Sample enthalten. Erweitert mit einem nginx als Reverse-Proxy lässt sich eine gute Absicherung und mit Lastverteilung eine sehr grosse Performance erreichen ......
Valar Morghulis

Gruss Carlo
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Danke, Carlos!
Ich habe nginx heruntergeladen und installiert.
Es soll ja auch mit Apache funktionieren.
Ich werde es mal ausprobieren.
LG,
Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Carlos, danke nochmals.
Ich habe die Konfiguration geändert.
Nginx habe ich nun als Reverse-Proxy.
Ich kann nun meine Programme über den Nginx-Server aufrufen.
LG
Otto

Code: Alles auswählen

server {
    listen 80;
    server_name localdomain.com;

    location / {
        proxy_pass http://apache_public_ip_or_domain;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: mod_harbour

Beitrag von Tom »

Erweitert mit einem nginx als Reverse-Proxy
Das kann Xb2Net seit dem letzten Update auch alleine.
Herzlich,
Tom
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: mod_harbour

Beitrag von azzo »

Hallo Tom,
gibt es von Xb2Net eine Testversion?
LG
Otto
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: mod_harbour

Beitrag von Manfred »

Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: mod_harbour

Beitrag von Tom »

Voller Leistungsumfang, aber die Anwendung beendet sich nach einer Stunde. Wenn man eine Lizenz gekauft hat, fügt man nur eine Funktion in den Code ein, die den Lizenzschlüssel zurückreicht, und das ist es dann. Xb2.Net ist auch nur eine DLL.
Herzlich,
Tom
Antworten