Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 06.03.2022, 11:34 Titel: wxFBE Projekt |
|
|
Hallo,
habe nun ein paar Miniprogramme zum Erlernen aus Probieren von Freebasic geschrieben und komme ganz gut weiter.
Nun habe ich mir ein kleines Projekt überlegt und möchte mit wxFBE nicht nur einzelne Programme schreiben sondern sie auch in einem Projekt zusammenfassen.
Wenn man in wxFBE den Menüpunkt "Projekt" anwählt kann man eine neues Projekt anlegen und dazu Optionen eingeben. Ich finde aber keine Beschreibung was man da einzugeben hat. Da stehen Begriffe wie:
Binärname
Run-Parameter
Namen und Argumente 1) bis 10)
Kann mir da wer helfen und beschreiben wie das zu verwenden ist und was das für einen Einfluss auf die Programme des Projekts hat.
Danke! _________________ Grüße
kilix |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4687 Wohnort: ~/
|
Verfasst am: 06.03.2022, 12:21 Titel: |
|
|
Wegen des Binärnamens müsste ich recherchieren; ich vermute, es handelt sich um den Namen, den die erzeugte ausführbare Datei haben soll.
Zu "Name" und "Argumente":
Du kannst dem Compiler für die Kompilierung Parameter mitgeben, die den Kompiliervorgang steuern. Die wichtigsten für den Anfang sind wahrscheinlich "-s gui" und "-exx". Eine Liste findest du hier:
https://www.freebasic-portal.de/befehlsreferenz/der-compiler-458.html
Das bedeutet, du kannst verschiedene "Kompilier-Modi" zur Verfügung stellen, z. B. einen "normalen" für das zu veröffentlichende Programm, einen weiteren mit zusätzlicher Fehlerkontrolle zum Testen usw. Für größere Projekte kann es dann auch sinnvoll sein, mehrere Module zu erstellen, die über die Parameter zusammen kompiliert werden können.
Zu den Run-Parametern:
Auch deinem Programm selbst kannst du bei der Ausführung Parameter mitgeben, die dann dein Programm auswerten kann (oder auch nicht) - siehe COMMAND. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 06.03.2022, 13:12 Titel: |
|
|
danke nemored!
das ist für den Anfang "dicker Tobak"
Da werde ich mich daher derzeit noch an deinem Schlußsatz orientieren:
"Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1." _________________ Grüße
kilix |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4687 Wohnort: ~/
|
Verfasst am: 06.03.2022, 14:00 Titel: |
|
|
kilix hat Folgendes geschrieben: | Da werde ich mich daher derzeit noch an deinem Schlußsatz orientieren:
"Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1." |
Ich würde für den Anfang mal mit dem Kommandozeilenoperator "-exx" experimentiern, weil der sehr nützlich ist (vor allem, wenn man mit Arrays arbeitet und dazu neigt, auf die falschen Indizes zuzugreifen), und wenn man mit Grafikfenster arbeitet, vielleicht mit "-s gui" (wobei ch das frühestens bei der Veröffentlichung einsetze, weil ein schließbares Konsolenfenster doch ziemlich praktisch ist, wenn sich das Programm "aufhängt"). In den Rest kann man sich ganz in Ruhe einarbeiten oder ihn auch vorerst getrost ignoreiren. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 06.03.2022, 15:00 Titel: |
|
|
Danke für diesen Tipp, werde ihn befolgen!
Habe da noch eine Frage zur Konsole: die Größe (Höhe, Breite) kann ich mit WITH gut definieren.
Kann man auch die Position in FreeBasic definieren, z.B. durch Angabe der linken oberen Ecke? _________________ Grüße
kilix |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4687 Wohnort: ~/
|
Verfasst am: 06.03.2022, 16:40 Titel: |
|
|
Für die Konsole ist mir zumindest nichts bekannt (wahrscheinlich gibt es WinAPI-Funktionen für so etwas). Bei einem Grafikfenster kannst du mit SCREENCONTROL arbeiten. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 06.03.2022, 18:22 Titel: |
|
|
nemored hat Folgendes geschrieben: | wahrscheinlich gibt es WinAPI-Funktionen für so etwas |
Richtig, hier ein kleines Demo. Du kannst das Fenster mit der Maus verschieben, beim Druck auf die Leertaste springt es wieder auf seine Ausgangsposition zurück. Code: | #Include "windows.bi"
Dim As HWND hwndDiesesFenster
hwndDiesesFenster = GetForegroundWindow()
MoveWindow(hwndDiesesFenster, 0, 230, 988, 431, TRUE)
Do
Select Case InKey
Case " "
MoveWindow(hwndDiesesFenster, 0, 230, 988, 431, TRUE)
Case Chr(27) 'Esc
Exit Do
End Select
Sleep 1
Loop |
Allerdings würde ich Anfängern von der Benutzung der WinAPI abraten, sie ist sehr umfangreich und hat eine eigene Logik, insbesondere arbeitet sie sehr stark mit Pointern und Handles.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 07.03.2022, 09:19 Titel: |
|
|
Danke für eure Hinweise! Ich habe inzwischen mit Fenstergrößen experimentiert. Im allgemeinen passt es ganz gut und wenn nicht muss man etwas mit der Maus verschieben. Danach liegt das Fenster dann meist wieder dort wo man es hin verschoben hat.
Das muss für jetzt genügen.
Wenn ich mich mehr in die Programmierung eingearbeitet habe möchte ich Gtk ansehen. Dort sieht es dann doch wieder anders aus. _________________ Grüße
kilix |
|
Nach oben |
|
 |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 26.07.2022, 10:50 Titel: |
|
|
Ich habe dazu in einem englisch-sprachigen Forum etwas gefunden. Mit diesem Code lässt sich die Konsole sehr leicht positionieren:
Code: |
#include once "windows.bi"
print "normal"
sleep
dim as HWND hWnd = GetConsoleWindow()
dim as RECT rct
GetWindowRect( hWnd, @rct )
MoveWindow( hWnd, 5, 5, rct.Right - rct.Left, rct.Bottom - rct.Top, TRUE )
print "moved"
sleep
|
Ich habe das in eine SUB übernommen und in meine xxxx.bi eingefügt. _________________ Grüße
kilix |
|
Nach oben |
|
 |
|