Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 21.02.2012, 12:13 Titel: FileRequester öffnen , wie geht das ? |
|
|
Wie kann man ein FileRequester öffnen in Freebasic ?
danke.
Gruss |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 21.02.2012, 14:30 Titel: |
|
|
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 |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 21.02.2012, 15:11 Titel: |
|
|
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 |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 21.02.2012, 16:27 Titel: |
|
|
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 |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 21.02.2012, 17:41 Titel: |
|
|
Jup, danke.
Gruss |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 21.02.2012, 18:01 Titel: |
|
|
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 |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 21.02.2012, 20:00 Titel: |
|
|
Es ist nie verkehrt, etwas selbst zu programmieren. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 21.02.2012, 21:23 Titel: |
|
|
Manchmal schon. Du bist noch jung und idealistisch, deswegen musst du diese Lektion noch lernen  |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 21.02.2012, 21:49 Titel: |
|
|
es ist immer verkehrt was selbst zu programmieren wenns das schon fertig gibt (ausgenommen du programmierst um dich "root" zu fühlen) 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.  _________________ "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 |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 21.02.2012, 22:47 Titel: |
|
|
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.
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 21.02.2012, 23:30 Titel: |
|
|
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 |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 22.02.2012, 01:03 Titel: |
|
|
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.
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.02.2012, 10:37 Titel: |
|
|
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 |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 22.02.2012, 13:37 Titel: |
|
|
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.  |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 22.02.2012, 17:17 Titel: |
|
|
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.  |
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  _________________ 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 |
|
 |
|