Musikwunsch per Webside

Alle Fragen zur Netzwerkkommunikation
Antworten
Leo_160905
Beiträge: 6
Registriert: Di 30. Nov 2021, 20:40
OS, Lazarus, FPC: Linux (Mint / Ubuntu)
CPU-Target: 64Bit

Musikwunsch per Webside

Beitrag von Leo_160905 »

Hi Leute,
ich möchte für Silvester eine kleine Anwendung schreiben, über die meine Family musikwünsche äußern kann, ich habe mir das so vorgestellt, dass man eine Webside, im gleichen Netzwerkt auf einem Ubuntu Server, aufruft und dann den Musikwunsch eingeben kann. Der soll dann in einer Datei aufgelistet werden, die ich mir dann anschauen kann. Die frage wäre, von der Webside bis zur Datei, gibt es da eine einfache Lösung mit Lazarus oder sollte ich mich lieber mit JavaScript auseinander setzten? Danke für jede Antwort

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Musikwunsch per Webside

Beitrag von theo »

Man könnte das schon mit Lazarus lösen, aber der *klassische" Weg wäre mit PHP und MariaDB, evtl. auch mit einem CMS.
Wenn du sowieso quasi bei Null anfängst, findest du für PHP viele Beispiele im Web.
Lazarus ist nicht primär fürs Web gedacht wie PHP, deshalb dürften die Beispiele hierfür etwas seltener sein.

Man schreibt übrigens "Website" oder "Webpage".

Leo_160905
Beiträge: 6
Registriert: Di 30. Nov 2021, 20:40
OS, Lazarus, FPC: Linux (Mint / Ubuntu)
CPU-Target: 64Bit

Re: Musikwunsch per Webside

Beitrag von Leo_160905 »

Ok danke für die Antwort!

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Musikwunsch per Webside

Beitrag von six1 »

Da ich das Gefühl habe, dass dies für dich Neuland ist, vielleicht auf etwas Fertiges zurückgreifen?
https://github.com/rouissi-iheb/musicBox
https://phpscriptfree.com/id/429904
Gruß, Michael

Benutzeravatar
gladio
Beiträge: 217
Registriert: Sa 21. Jun 2014, 06:15
OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
CPU-Target: 64Bit
Wohnort: Rügen

Re: Musikwunsch per Webside

Beitrag von gladio »

Eine ganz einfache Lösung: erstelle eine Teams-Gruppe und lege da eine Datei (Text oder Tabelle) ab, in die jeder sein Zeug reinschreiben kann.
Dazu ist kein Server notwendig. Wird doch jemand dabei sein, der/die ein MS-Konto hat.

Leo_160905
Beiträge: 6
Registriert: Di 30. Nov 2021, 20:40
OS, Lazarus, FPC: Linux (Mint / Ubuntu)
CPU-Target: 64Bit

Re: Musikwunsch per Webside

Beitrag von Leo_160905 »

Danke für die Antworten, ich schau mir das mal an, aber ich dachte mir, dass ich da ein kleines Projekt draus machen könnte und es so Benutzerfreundlich wie möglich mache um indem man nur ein QR Code scannt, hab das glaub vergessen zu erwähnen. Trotzdem nochmal vielen Dank.

Benutzeravatar
kupferstecher
Beiträge: 418
Registriert: Do 17. Nov 2016, 11:52

Re: Musikwunsch per Webside

Beitrag von kupferstecher »

Leo_160905 hat geschrieben:
Mi 1. Dez 2021, 19:56
so Benutzerfreundlich wie möglich mache um indem man nur ein QR Code scannt
Wie meinst du das, du hast einen Katalog mit Liedern, den die Besucher abscannen können? Da dürfte das schwierigste die Erstellung des Katalogs sein.

Leo_160905
Beiträge: 6
Registriert: Di 30. Nov 2021, 20:40
OS, Lazarus, FPC: Linux (Mint / Ubuntu)
CPU-Target: 64Bit

Re: Musikwunsch per Webside

Beitrag von Leo_160905 »

Nein, es gibt einen QR Code, in dem ist die IP des Servers hinterlegt und dann kommt man auf diese Seite, dort kann man den Namen eines Liedes eingeben und absenden, diese werden dann in einer Datei auf dem Server gespeichert und ich kann diese dann aufrufen, je nach dem wie ich es hinbekomme würde ich paar Sachen noch einbauen, die mir dann helfen, den Titel dann auf Amazon Music eingeben und dann zur Warteschlange hinzufügen.

Benutzeravatar
kupferstecher
Beiträge: 418
Registriert: Do 17. Nov 2016, 11:52

Re: Musikwunsch per Webside

Beitrag von kupferstecher »

Leo_160905 hat geschrieben:
Mi 1. Dez 2021, 20:32
Nein, es gibt einen QR Code, in dem ist die IP des Servers hinterlegt und dann kommt man auf diese Seite, dort kann man den Namen eines Liedes eingeben und absenden,
Prinzipiell macht ja das Smartphone schon selber die Umsetzung eines QR-Codes auf eine Webadresse, also den Aufruf im Browser. Erstellen zum Ausdrucken kann man den bspw. mit LibreOffice Object->Einfügen->QR-Code (oder einem beliebigen Webservice). Wenns nur drum geht einen Freitext zu übertragem, dürfte das mit HTML zu erledigen sein, also brauchst du kein JavaScript, aber ein HTML-Formular musst du erstellen können. Das Lazarusprogramm fungiert dann nur zur Auslieferung des HTML-Codes und zum Entgegennehmen der HTML-Formulareingabe. Sowas "ähnliches" hab ich letztes Jahr im Lockdown mit der Synapse-Bibliothek gemacht. Ausgehend vom HTML-Server-Beispiel, es gibt dort die Function ProcessHTMLRequest, die vom ServerCode aufgerufen wird. Dort müsstest du dann die Anfrage an deinen eigenen Code übergeben und die HTML-Seite ausliefern, also entweder die HTML-Seite bei Aufruf von home (/) oder beim Abschicken des ausgefüllten Formulars. Vielleicht kannst du noch was zu deinem Hintergrundwissen sagen. Ich denke das ist ein gutes Einstiegsprojekt in die Weblandschaft. Wenns was weitergehendes werden soll, gibts wohl bessere Alternativen zu Lazarus.

Leo_160905
Beiträge: 6
Registriert: Di 30. Nov 2021, 20:40
OS, Lazarus, FPC: Linux (Mint / Ubuntu)
CPU-Target: 64Bit

Re: Musikwunsch per Webside

Beitrag von Leo_160905 »

Danke für die ausführliche Antwort, ich werde mich damit auseinander setzen, zu mir noch ich hab vor paar Jahren durch batch so bisschen das coding/programmieren für mich gefunden und hab hin und wieder versucht eine Sprache zu lernen aber es war irgendwie nie was ich wollte. Mir wurde dann Lazarus/ Free Pascal empfohlen und bisschen gezeigt und jetzt lerne ich das. Ich hatte aber letztens die Idee für das Projekt und wollte wissen, wie ich das am besten umsetzen könnte, denn ich habe in die Richtung kaum wissen und ich wäre gerne besser. Naja so viel zu mir, ich hoffe, dass mir das Programmieren noch in der Zukunft Spaß macht.

Benutzeravatar
kupferstecher
Beiträge: 418
Registriert: Do 17. Nov 2016, 11:52

Re: Musikwunsch per Webside

Beitrag von kupferstecher »

Ich hab jetzt mal aus meinem Projekt ein Grundgerüst rauskopiert, das sollte einen guten Einstieg bilden. Runterladen->Entpacken. Die Synapse-Bibliothek 40.1 über den Online-Package-Manager runterladen (Lazarus im Menü Package ->Online-Package-Manager) und am besten dann den Ordner "synapse40.1" im Verzeichnis neben dem Verzeichnis "LServerBeispiel" ablegen. So war die Struktur bei mir, dann muss man den Unit-Pfad nicht anpassen. Ansonsten unter Projekteinstellungen->Compilereinstellungen->Pfade->Andere Units
den richtigen Pfad eintragen. Anderweistig muss die Bibliothek nicht installiert werden.

Projekt kompilieren, dann auf Connect drücken. Kann sein, dass sich zwischendrin die Firewall meldet. Der Server lauscht auf Port 8080, also Browserfenster aufmachen und 127.0.0.1:8080 eintippen. Dann wird ein kurzer Text angezeigt, die erste Webseite. Der HTML-Code ist in TForm1.MainRequest hinterlegt, dort wird auch die Anfrage verarbeitet. Alle gängigen Browser können den Seitenquelltext anzeigen, damit kann man sehen, was tatsächlich übermittelt wurde.
Ein Favicon ist im ServerBeispiel auch hinterlegt, erscheint dann im Browsertab. Oder kann über den Pfad /favicon.ico abgerufen werden, also durch Eingabe von 127.0.0.1:8080/favicon.ico.
/some ist ein weiterer vordefinierter Pfad.

Von der Programmstruktur spielt sich alles Wesentliche in Unit1 ab. Also dort erstmal verstehen, was im Einzelnen gemacht wird. Im FormCreate werden die Routinen zur Verarbeitung der Pfade registriert, dort kann man natürlich nach dem gleichen Muster noch eigene zufügen. Noch eine Warnung bzgl. Multithreading, die Serverunit erzeugt für jede Verbindung einen eigenen Thread, das wird zwar in der Router-Unit durch eine CriticalSection entschärft, sodass in Unit1 höchstens immer nur eine Serveranfrage gleichzeitig aufgerufen wird, aber der Aufruf erfolgt im Kontext des Server-Threads, man darf also in den Routinen nicht einfach auf das Formular zugreifen! Mittles "Synchronize" ginge das wieder (einfach danach suchen).

127.0.0.1 ist immer der eigene Rechner. Möchte man von einem anderen Rechner im gleichen Netzwerk aus zugreifen, nimmt man stattdessen die vom Router für den Rechner vergebene IP.

Viel Erfolg!
Dateianhänge
LServerBeispiel.zip
(160.26 KiB) 116-mal heruntergeladen

Leo_160905
Beiträge: 6
Registriert: Di 30. Nov 2021, 20:40
OS, Lazarus, FPC: Linux (Mint / Ubuntu)
CPU-Target: 64Bit

Re: Musikwunsch per Webside

Beitrag von Leo_160905 »

Danke für eure Hilfe, ich hab es mittlerweile gelöst und es funktioniert perfekt.

Antworten