|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
basixx
Anmeldungsdatum: 29.03.2008 Beiträge: 10
|
Verfasst am: 29.03.2008, 13:12 Titel: Neuer User... |
|
|
Hallo liebe FreeBasic Gemeinde,
kurze Vorstellung beim 1. Post:
Leider nicht mehr der jüngste (Bj60) und nutze selbst ausschl. Linux.
Hab FB nach einem Kurzbericht in der LinuxUser entdeckt und war sofort begeistert.
1. Die Möglichkeit "Standalone-binaries" zu erstellen
2. Die Möglichkeit mit glade GUIs zusammenzuklicken und einzubinden
3. kennt man basic schon seit einem ZX81, aber zwischendurch irgendwie verloren gegangen...
Das einzige das ich vermisse, ist die Möglichkeit ein paar Codeschnipsel per basic-interpreter
auf der Konsole testweise durchzunudeln, ist aber kein großes Problem.
Freu mich schon auf die ersten Antworten zu meinen Fragen.
Der erste Versuch war ein bash-script zu schreiben,
was mir aus einer "Übersetzten" glade -Datei ein FBasic-Grundgerüst schreibt,
ähnlich 'glade2bas' aber halt als "Standalone-binary" (weniger als 70 Zeilen!).
Wo darf ich dieses Script zum Testen für Andere platzieren, falls Interesse besteht? |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 29.03.2008, 14:25 Titel: |
|
|
Hallo,
willkommen im Forum!
Auf FreeBasic-Portal.de gibt es verschiedene Möglichkeiten, seine Quelltexte zugänglich zu machen:
Zunächst gibt es eine Code-Beispiel-Rubrik, in der Quelltexte, die andere Programmierer als nützliche "Flicken" in ihre Programme einbauen können, veröffentlicht werden. Dazu gehören beispielsweise Quelltexte, mit denen eine Datei aus dem Internet heruntergeladen werden kann oder ein Musikstück abgespielt werden kann o.ä.
Außerdem gibt es ein sog. NoPaste-System. Dabei handelt es sich um eine Datenbank, in der alle möglichen Code-Fragmente gespeichert werden können - egal, ob sie funktionstüchtig sind oder nicht. Das NoPaste-System "fb:porticula" erlaubt das Online-Stellen eigener Sources, um sie beispielsweise in Foren oder Chats zur Verfügung zu stellen. Die hochgeladenen Quelltexte werden automatisch einem Syntax Highlighting unterzogen und sind somit einfacher zu überblicken.
Für fertige Programme, die benutzungsfertig sind und nicht primär zur Integration in eigene Software gedacht sind, gibt es des Weiteren die Download-Rubrik. Dort können auch ZIP-Archive mit weiteren, benötigten Dateien hochgeladen werden, um ganze eigene Softwareprojekte vorstellen zu können.
Es gibt also reichlich Möglichkeiten, das große FreeBasic-Informationsarchiv FreeBasic-Portal zu "füttern", um seine Programmierarbeit zu veröffentlichen.
Viele Grüße und viel Spaß mit der Website!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Devilkevin aka Kerstin
Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 29.03.2008, 21:57 Titel: Re: Neuer User... |
|
|
basixx hat Folgendes geschrieben: |
Der erste Versuch war ein bash-script zu schreiben,
was mir aus einer "Übersetzten" glade -Datei ein FBasic-Grundgerüst schreibt,
ähnlich 'glade2bas' aber halt als "Standalone-binary" (weniger als 70 Zeilen!).
Wo darf ich dieses Script zum Testen für Andere platzieren, falls Interesse besteht? |
Wooot? FB kann mit Glade arbeiten?
Will ich haben _________________ www.piratenpartei.de |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
basixx
Anmeldungsdatum: 29.03.2008 Beiträge: 10
|
Verfasst am: 30.03.2008, 09:35 Titel: |
|
|
Vielen Dank für die freundliche Begrüßung.
Devilkevin hat Folgendes geschrieben: | Wooot? FB kann mit Glade arbeiten? |
Sogar recht einfach, lad dir glade2bas runter:
http://www.freebasic.net/forum/viewtopic.php?t=10185
Das erstellt dir ein basic Programm aus einer glade -Datei,
Nachteil ist: Ohne die glade -Datei funktioniert das basic Prg. nicht.
Da setzt mein bash-script an, nachdem die GUI mit glade erstellt wurde,
und nach klicken auf 'Übersetzen' als source gespeichert wurde,
liest das script sämtliche Informationen zur GUI Beschreibung aus
src/interface.c heraus und schreibt dann das FBasic-Grundgerüst nach '_test.bas'
und versucht auch aus den Signalen die Subs zu erstellen
(zunächst nur mit der Funktion 'gtk_main_quit()')
Poste das script mal hier in den Text, da ich keinen Zugriff aufs
Nopaste-System habe (eine Anmeldung sollte reichen...)
Das script als '_skel_bas' speichern, ausführbar machen und ins
Verzeichnis der glade -Datei kopieren.
_skel_bas hat Folgendes geschrieben: |
#!/bin/sh
if [ -r src/interface.c ]; then
cp src/interface.c src/interface.neu
sed -i -ne '1,/{/!{/Store pointers/,/{/!p;}' src/interface.neu; #Bereich eingrenzen
sed -i -e 's/;$//' src/interface.neu; #Semikolon am Zeilenende entfernen
sed -i -e 's/ GtkWidget \*\(.*\)/dim shared \1 as GtkWidget ptr/' src/interface.neu; #Dim Befehle
sed -i -e 's/(gpointer) \(.*\), /G_OBJECT(\1), /' src/interface.neu; #gpointer ersetzen
sed -i -e '/g_signal_connect/{N;N;s/\n/ /g;s/ \{2\}//g;s/^/ /}' src/interface.neu; #Diese und die folgenden 2 Zeilen ohne Zeilenumbruch zusammenführen
sed -i -e '/g_signal_connect/s/(/(@/3' src/interface.neu; #Bei den Signalen ein @ für den Subroutine Aufruf hinzufügen
sed -i -e 's/_(/(/g' src/interface.neu; #Unterstriche vor öffnender Klammer löschen
sed -i -e 's/\\303\\204/Ä/;s/\\303\\226/Ö/;s/\\303\\234/Ü/;s/\\303\\244/ä/;s/\\303\\266/ö/;s/\\303\\274/ü/;s/\\303\\237/ß/g' src/interface.neu; #einige Umlaute zurück übersetzen
else
echo "Bitte zuerst die glade Datei mit glade öffnen und 'Übersetzen' klicken"
echo "Programm beendet!"
exit 0
fi
HAUPTFENSTER=$(sed -ne '1p' src/interface.neu | awk '{print $3}'); #Hauptfenster in Variable schreiben
DATENDEFINITIONEN=$(sed -ne '/dim shared/p' src/interface.neu); #Datendefinitionen in Variable schreiben
INTERFACES=$(sed -ne '/gtk_window_new/,//p' src/interface.neu); #Interfaces in Variable schreiben
#Ab hier wird das Basic-Grundgerüst nach '_test.bas' geschrieben
echo "'******************************************************************************
'* Definitionen fuer Gtk
'******************************************************************************
#include \"gtk/gtk.bi\"
#define NULL 0
'******************************************************************************
'* Datendefinitionen
'******************************************************************************
$(echo "$DATENDEFINITIONEN")
'TextBuffer? buffer =... in eine Sub oder ins Interface
'dim shared buffer as GtkTextBuffer ptr
'buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview1))
'******************************************************************************
' ab hier die Unterprogramme (SUB's) ...
'******************************************************************************
'Ein Versuch die Subs hier automatisch zu erstellen
$(for i in $(sed -ne '/g_signal_connect.*@on/=' src/interface.neu); do
x=$(sed -ne "$i s/.*@\(on.*\)),.*/\1/p" src/interface.neu)
echo "sub $x cdecl alias \"$x\"(byval object as GtkObject ptr, byval user_data as gpointer) export
' gtk_main_quit()
end sub
"
done)
'******************************************************************************
'* Gtk / GUI initialisieren
'******************************************************************************
gtk_init(NULL, NULL)
'******************************************************************************
'* Anzuzeigende Fenster spezifizieren, glade Datei Übersetzung aus src/interface.neu
'******************************************************************************
$(echo "$INTERFACES")
'******************************************************************************
'* Hauptfenster anzeigen
'******************************************************************************
gtk_widget_show_all($HAUPTFENSTER)
g_signal_connect(G_OBJECT($HAUPTFENSTER), \"destroy\", G_CALLBACK(@gtk_main_quit), NULL)
gtk_main()
end 0" > _test.bas
|
_________________ Gruß an alle FreeBasic Fans |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 30.03.2008, 12:51 Titel: |
|
|
Hallo,
das Programm macht einen überaus praktischen Eindruck. Glade2Bas hatte ich mir noch gar nicht angesehen.
Zitat: | Poste das script mal hier in den Text, da ich keinen Zugriff aufs
Nopaste-System habe (eine Anmeldung sollte reichen...) |
Zum NoPaste-System: Das stimmt. Man kann auf FreeBasic-Portal.de alle Informationen ohne Anmeldung einsehen und alles herunterladen, aber um eigene Texte/Dateien etc. zu veröffentlichen, ist sowohl aus technischen (die Inhalte sollen in der Datenbank einem Konto zugeordnet sein) wie auch aus verwaltungstechnischen bzw. Haftungsgründen eine Anmeldung nötig, damit man leichter zurückverfolgen kann, welcher Benutzer für welche Inhalte verantwortlich ist. Außerdem sind mit dem Benutzerkonto natürlich auch verschiedene Komfortfunktionen wie die Möglichkeit, eingestellte Inhalte nachher zu bearbeiten, verbunden. Ohne Anmeldung wäre dies nur schlecht realisierbar.
Zur Anmeldung ist die Angabe einer E-Mail-Adresse zwar erforderlich, doch diese wird, wenn man die E-Mail-Einstellungen bei der Registrierung auf der Standardeinstellung belässt, vertraulich behandelt und ist weder Spambots noch anderen Benutzern zugänglich. Lediglich der Betreiber der Website kann ggf. Kontakt zum Nutzer aufnehmen.
Alle anderen Angaben wie der "Realname" usw. sind natürlich freiwillig.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|