Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

FileRequester öffnen , wie geht das ?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 21.02.2012, 12:13    Titel: FileRequester öffnen , wie geht das ? Antworten mit Zitat

Wie kann man ein FileRequester öffnen in Freebasic ?

danke.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.02.2012, 13:59    Titel: Re: FileRequester öffnen , wie geht das ? Antworten mit Zitat

Hallo!

arduno hat Folgendes geschrieben:
Wie kann man ein FileRequester öffnen in Freebasic ?

Im Verzeichnis examples\Windows\gui deiner FreeBASIC-Installation findest du ein Beispiel dazu (fileopen.bas).

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 21.02.2012, 14:30    Titel: Antworten mit Zitat

Ich wollte das im normalen Feebasic öffnen ohne ein Freebasic-windowprogramm. Es kommen jetzt beim öffnen sehr viele Fehlermeldungen.

Danke.


Code:

#include once "windows.bi"

Screen 19,32

function file_getname( byval hWnd as HWND ) as string

   dim ofn as OPENFILENAME
   dim filename as zstring * MAX_PATH+1
   
   with ofn
      .lStructSize       = sizeof( OPENFILENAME )
      .hwndOwner          = hWnd
      .hInstance          = GetModuleHandle( NULL )
      .lpstrFilter       = strptr( !"All Files, (*.*)\0*.*\0Bas Files, (*.BAS)\0*.bas\0\0" )
      .lpstrCustomFilter    = NULL
      .nMaxCustFilter    = 0
      .nFilterIndex       = 1
      .lpstrFile         = @filename
      .nMaxFile         = sizeof( filename )
      .lpstrFileTitle      = NULL
      .nMaxFileTitle      = 0
      .lpstrInitialDir   = NULL
      .lpstrTitle         = @"File Open Test"
      .Flags            = OFN_EXPLORER or OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST
      .nFileOffset      = 0
      .nFileExtension      = 0
      .lpstrDefExt      = NULL
      .lCustData         = 0
      .lpfnHook         = NULL
      .lpTemplateName      = NULL
   end with
   
   if( GetOpenFileName( @ofn ) = FALSE ) then
      return ""
   else
      return filename
   end if

end Function


End
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 21.02.2012, 15:11    Titel: Antworten mit Zitat

Einen Windows-FileRequester ohne WinAPI gibt es nicht. Dein Code erzeugt deswegen Fehler, weil du die wichtigen Teile nicht kopiert hast:
Code:
#Define WIN_INCLUDEALL
#Include Once "windows.bi"
#Include "fbgfx.bi"

Declare Function file_getname( ByVal hWnd As HWND ) As String

Screen 19,32

Dim As HWND hWnd
ScreenControl(FB.GET_WINDOW_HANDLE, hWnd)

Dim As String auswahl = file_getname(hWnd)

Print auswahl
Sleep


Function file_getname( ByVal hWnd As HWND ) As String

   Dim ofn As OPENFILENAME
   Dim filename As ZString * MAX_PATH+1
   
   With ofn
      .lStructSize       = SizeOf( OPENFILENAME )
      .hwndOwner          = hWnd
      .hInstance          = GetModuleHandle( NULL )
      .lpstrFilter       = StrPtr( !"All Files, (*.*)\0*.*\0Bas Files, (*.BAS)\0*.bas\0\0" )
      .lpstrCustomFilter    = NULL
      .nMaxCustFilter    = 0
      .nFilterIndex       = 1
      .lpstrFile         = @filename
      .nMaxFile         = SizeOf( filename )
      .lpstrFileTitle      = NULL
      .nMaxFileTitle      = 0
      .lpstrInitialDir   = NULL
      .lpstrTitle         = @"File Open Test"
      .Flags            = OFN_EXPLORER Or OFN_FILEMUSTEXIST Or OFN_PATHMUSTEXIST
      .nFileOffset      = 0
      .nFileExtension      = 0
      .lpstrDefExt      = NULL
      .lCustData         = 0
      .lpfnHook         = NULL
      .lpTemplateName      = NULL
   End With
   
   If( GetOpenFileName( @ofn ) = FALSE ) Then
      Return ""
   Else
      Return filename
   End If

End Function
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 21.02.2012, 16:27    Titel: Antworten mit Zitat

Du könntest dir auch einen eigenen Filerequester programmieren, dann wäre er unabhängig von Windows(ich nehme an, dass ist das was du wolltest?). Ich habe einmal einen Dateibrowser programmiert, den kannst du als Grundgerüst benutzen:
http://www.freebasic.net/forum/viewtopic.php?f=7&t=18617
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 21.02.2012, 17:41    Titel: Antworten mit Zitat

Jup, danke.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 21.02.2012, 18:01    Titel: Antworten mit Zitat

Westbeam hat Folgendes geschrieben:
Du könntest dir auch einen eigenen Filerequester programmieren, dann wäre er unabhängig von Windows(ich nehme an, dass ist das was du wolltest?). Ich habe einmal einen Dateibrowser programmiert, den kannst du als Grundgerüst benutzen:
http://www.freebasic.net/forum/viewtopic.php?f=7&t=18617
Sorry, aber sowas geht gar nicht. Wenn er WAPI nicht nutzen will soll er wenigsten Qt/GTK oder wxW nutzen, aber sowas selbst zu programmieren ist Hirnzwirn.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 21.02.2012, 20:00    Titel: Antworten mit Zitat

Es ist nie verkehrt, etwas selbst zu programmieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 21.02.2012, 21:23    Titel: Antworten mit Zitat

Manchmal schon. Du bist noch jung und idealistisch, deswegen musst du diese Lektion noch lernen zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 21.02.2012, 21:49    Titel: Antworten mit Zitat

es ist immer verkehrt was selbst zu programmieren wenns das schon fertig gibt (ausgenommen du programmierst um dich "root" zu fühlen) Zunge rausstrecken das problem ist, dass die dinger dies gibt meistens irgendwelche probleme haben wegen denen man sie nicht nochmal benutzen kann/will, und seis nur fehlende dokumentation. Deswegen brauch man gute entwickler. happy
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 21.02.2012, 22:47    Titel: Antworten mit Zitat

Ich programmiere gerne unabhängig von anderen Dingen(außer vielleicht bei meinem Projekt "X-the forgotten battles", da ich nicht vorhatte, eine eigene 3D-Lib zu schreiben). Immerhin habe ich lange mit Assembler programmiert. zwinkern
Der Vorteil bei der Sache ist halt, dass man alles genau kennt und nicht erst nach gucken oder nachfragen muss, wie es denn funktioniert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 21.02.2012, 23:30    Titel: Antworten mit Zitat

der nachteil ist dass man keine armee von tausenden developern hat die seit fünf jahren bugs aus dem code entfernt haben.

Wenn du dich in Dimensionen von <1000 loc bewegst mag das egal sein, da kann man ziemlich machen was man will, aber in der Regel tut man das nicht.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 22.02.2012, 01:03    Titel: Antworten mit Zitat

Westbeam hat Folgendes geschrieben:
Ich programmiere gerne unabhängig von anderen Dingen(außer vielleicht bei meinem Projekt "X-the forgotten battles", da ich nicht vorhatte, eine eigene 3D-Lib zu schreiben). Immerhin habe ich lange mit Assembler programmiert. zwinkern
Der Vorteil bei der Sache ist halt, dass man alles genau kennt und nicht erst nach gucken oder nachfragen muss, wie es denn funktioniert.


das dachte ich auch mal. glaub mir, spätestens in einem groesseren projekt (>3 devs) wirst du dir wuenschen dass die amderem nicht so gedacht habrn. als user sowieso
man will keine drei konkurrierenden funktionen die dasselbe auf andere art tun
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 22.02.2012, 10:37    Titel: Antworten mit Zitat

Westbeam hat Folgendes geschrieben:
Der Vorteil bei der Sache ist halt, dass man alles genau kennt und nicht erst nach gucken oder nachfragen muss, wie es denn funktioniert.

Das ist die denkbar schlechteste Rechtfertigung dafür, keine Dokumentation zu einem Stück Software zu schreiben (und nicht rede hier nicht von Benutzerdokumentation).
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 22.02.2012, 13:37    Titel: Antworten mit Zitat

Alles selbst zu machen, muss nicht zwingend schlecht sein. In den großen, vielleicht auch kommerziellen Projekten, da geht das klar nicht, aber für eigene kleine Projekte finde ich, dass das eine gute Programmierübung ist, an der man wachsen kann. Irgendwo muss ja ein Grundverständnis für Problemlösungen in der Programmierung herkommen. lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 22.02.2012, 17:17    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Alles selbst zu machen, muss nicht zwingend schlecht sein. In den großen, vielleicht auch kommerziellen Projekten, da geht das klar nicht, aber für eigene kleine Projekte finde ich, dass das eine gute Programmierübung ist, an der man wachsen kann. Irgendwo muss ja ein Grundverständnis für Problemlösungen in der Programmierung herkommen. lächeln


naja, es kommt ganz darauf an, _warum_ du $programm schreibst.
wenn du es ausschließlich zum spaß machst mag das stimmen. aber wenn du es (zumindest teilweise) codest, weil du es brauchst, dann willst du dich nicht mit file-open-dialogen rumschlagen zwinkern
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz