Deutsch
Forum

Erledigt: BMP in einer Schleife laden

 

Roberto
Neu
Geht das??
Bmp in einer Schleife laden
Gestern habe ich von 0-2uhr Morgends Versucht das hinzubekommen.
Aber es kommt immmer die Fehlermeldung BMP nicht ladbar

210 kB
Kurzbeschreibung: Photoviewer
Hochgeladen:02.08.2009
Ladeanzahl106
Herunterladen
 
02.08.2009  
 




Jörg
Sellmeyer
Du mußßt den Backslash verdoppeln.
KompilierenMarkierenSeparieren
loadbmp "files	o.bmp",0,0;0 falsch!

KompilierenMarkierenSeparieren
loadbmp "files\to.bmp",0,0;0 richtig!

Nochwas: Du solltest ein WaitInput nach "Whilenot e%" einbauen, sonst wirst Du an Deinem Programm nicht viel Freude haben.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.08.2009  
 




Rolf
Koch
Hi Roberto
Machs beste draus, vieles hast Du noch nicht verstanden.
Zum Beispiel:
Man sollte \ zwischen Pfaden und Dateien schreiben.
While ohne Endwhile kann nicht funktionieren
Whilenot e% ist ok aber warum hast Du diese Bedingung als Ende nicht genutzt
If/Elseif hast Du nicht verstanden, Du nutzt nur IF ENDIF
Und immer noch dieses sinnlose GOTO
Vorallem in einer Schleife musst Du nicht das Waitinput unten hin schreiben und dafür ein GOTO nutzen, ich hab Dir jetzt aufgezeigt, daß ohne Goto, richtiges Waitinput (Stelle) und richtiges Endwhile (Stelle) eine Schleife immer durchlaufen wird.
Also nocheinmal: Lass das Goto weg und nutze: Schleifen, If/Elseif und Prozeduren.
KompilierenMarkierenSeparieren
declare load&, e%, button&, back&, Name$, text&, A%
Def DragAcceptFiles(2) !"SHELL32","DragAcceptFiles"
Def DragFinish(1) !"SHELL32","DragFinish"
Def DragQueryFile(4) !"SHELL32","DragQueryFileA"
Declare DragFile#,lade&,lade1&,beenden&,beenden1&,neu&,neu1&
Dim DragFile#, 261 In diesem Bereich finden die gedroppten Dateinamen Platz
WINDOW Optionen
WindowTitle "Photoviewer Pro"
Window 50,20 - 800,600
DESKTOP
usepen -0,-0,@RGB(31,31,31)
loadbmp "files\pp.bmp",100,0;0
loadbmp "files\to.bmp",0,0;0
POPUP MENÜ
Popup "Bildgröße 600x500"

PROC BUTTONS

    lade& = Create("hpic",-1,"files\lade.BMP")
    lade1& = Create("PicButton",%HWnd,lade&,0,0,100,20)
    Create("Tooltip",%HWnd,lade1&,"Suchen sie sich ein Bild aus!")
    beenden& = Create("hpic",-1,"files\be.bmp")
    beenden1& = Create("PicButton",%HWnd,beenden&,0,526,100,20)
    Create("Tooltip",%HWnd,beenden1&,"Das Programm wird beendet!")
    neu& = Create("hpic",-1,"files\entf.bmp")
    neu1& = Create("PicButton",%HWnd,neu&,0,20,100,20)
    Create("Tooltip",%HWnd,neu1&,"Bild wird Entfernt!")

ENDPROC

buttons

Whilenot e%

    waitinput

    If Clicked(lade1&)

        Name$ = @LoadFile$("Bilddateien","*.BMP")

        While Name$ <> ""

            If Name$ <> ""

                LoadBMP Name$,101,1-0,0;0
                WindowTitle "Photoviewer Pro - [" + Name$ + "]"

            Endif

        elseif Clicked(neu1&)

            loadbmp "files\pp.bmp",100,0;0

        elseif Clicked(beenden1&)

            e%=1 ist ja Schleifenende also Ende

        endif

    endwhile

    end
 
02.08.2009  
 




Roberto
Neu
@ Rolf Vielen Dank
Ich hatte es am anfang auch mit Elseif geschrieben.
Aber dann hat es egal auf welchen Button ich geklickt habe immer nur das Bild geladen^^
Und das Bild ladet es bei mir immer noch nicht??
 
02.08.2009  
 




Rolf
Koch
Achso, Du meinst diese ENTF?
OK ist logisch, denn nachdem Du Deine Bilder gewählt hast und dann auf ENTF klickst, musst Du vorher ins aktuelle Verzeichnis zurückwechseln.
 
02.08.2009  
 




Roberto
Neu
Also muss ich das ENTF mit IF schreiben oder ??
Oder eine neue Schleife machen ??
 
02.08.2009  
 




Rolf
Koch
OK - gibt viele Möglichkeiten der Pfadermittlung hier eine ganz PROFANE:
KompilierenMarkierenSeparieren
declare load&, e%, button&, back&, Name$, text&, A%
Def DragAcceptFiles(2) !"SHELL32","DragAcceptFiles"
Def DragFinish(1) !"SHELL32","DragFinish"
Def DragQueryFile(4) !"SHELL32","DragQueryFileA"
Declare DragFile#,lade&,lade1&,beenden&,beenden1&,neu&,neu1&,pfad$
Dim DragFile#, 261 In diesem Bereich finden die gedroppten Dateinamen Platz
Pfad sichern - Heimverzeichnis
Ausklammern wenn zur Exe compiliert wird:
pfad$=getdir$("@") Aber Vorsicht - wenn Exe erstellt wird sollte hier $progdir stehen
Wenn Exe erstellt wird diese:
pfad$=$Progdir
WINDOW Optionen
WindowTitle "Photoviewer Pro"
Window 50,20 - 800,600
DESKTOP
usepen -0,-0,@RGB(31,31,31)
loadbmp "files\pp.bmp",100,0;0
loadbmp "files\to.bmp",0,0;0
POPUP MENÜ
Popup "Bildgröße 600x500"

PROC BUTTONS

    lade& = Create("hpic",-1,"files\lade.BMP")
    lade1& = Create("PicButton",%HWnd,lade&,0,0,100,20)
    Create("Tooltip",%HWnd,lade1&,"Suchen sie sich ein Bild aus!")
    beenden& = Create("hpic",-1,"files\be.bmp")
    beenden1& = Create("PicButton",%HWnd,beenden&,0,526,100,20)
    Create("Tooltip",%HWnd,beenden1&,"Das Programm wird beendet!")
    neu& = Create("hpic",-1,"files\entf.bmp")
    neu1& = Create("PicButton",%HWnd,neu&,0,20,100,20)
    Create("Tooltip",%HWnd,neu1&,"Bild wird Entfernt!")

ENDPROC

buttons

Whilenot e%

    waitinput

    If Clicked(lade1&)

        Name$ = @LoadFile$("Bilddateien","*.BMP")

        While Name$ <> ""

            If Name$ <> ""

                LoadBMP Name$,101,1-0,0;0
                WindowTitle "Photoviewer Pro - [" + Name$ + "]"

            Endif

        elseif Clicked(neu1&)

            chdir pfad$
            loadbmp "files\pp.bmp",100,0;0

        elseif Clicked(beenden1&)

            e%=1 ist ja Schleifenende also Ende

        endif

    endwhile

    end
 
02.08.2009  
 




Roberto
Neu
Juhuuuu jetzt hab ichs Kapiert.
Das Programm bleibt in dem Ordner Files
Und wenn ich dan loadbmp "filesild.bmp",0,0;0 eingeb
Sucht es in dem Ordner Files nach dem Ordner Files und dan gibt es ja nicht ^^
Ich hab das jetzt so gemacht
KompilierenMarkierenSeparieren
declare load&, e%, button&, back&, Name$, text&, A%
Def DragAcceptFiles(2) !"SHELL32","DragAcceptFiles"
Def DragFinish(1) !"SHELL32","DragFinish"
Def DragQueryFile(4) !"SHELL32","DragQueryFileA"
Declare DragFile#,lade&,lade1&,beenden&,beenden1&,neu&,neu1&,pfad$
Dim DragFile#, 261In diesem Bereich finden die gedroppten Dateinamen Platz
Pfad sichern - Heimverzeichnis
Ausklammern wenn zur Exe compiliert wird:
pfad$=getdir$("@")Aber Vorsicht - wenn Exe erstellt wird sollte hier $progdir stehen
Wenn Exe erstellt wird diese:
pfad$=$Progdir
WINDOW Optionen
WindowTitle "Photoviewer Pro"
Window 50,20 - 800,600
DESKTOP
usepen -0,-0,@RGB(31,31,31)
loadbmp "files\pp.bmp",100,0;0
loadbmp "files\to.bmp",0,0;0
POPUP MENÜ
Popup "Bildgröße 600x500"

PROC BUTTONS

    lade& = Create("hpic",-1,"files\lade.BMP")
    lade1& = Create("PicButton",%HWnd,lade&,0,0,100,20)
    Create("Tooltip",%HWnd,lade1&,"Suchen sie sich ein Bild aus!")
    beenden& = Create("hpic",-1,"files\be.bmp")
    beenden1& = Create("PicButton",%HWnd,beenden&,0,526,100,20)
    Create("Tooltip",%HWnd,beenden1&,"Das Programm wird beendet!")
    neu& = Create("hpic",-1,"files\entf.bmp")
    neu1& = Create("PicButton",%HWnd,neu&,0,20,100,20)
    Create("Tooltip",%HWnd,neu1&,"Bild wird Entfernt!")

ENDPROC

buttons

Whilenot e%

    waitinput

    If Clicked(lade1&)

        Name$ = @LoadFile$("Bilddateien","*.BMP")

        While Name$ <> ""

            If Name$ <> ""

                LoadBMP Name$,101,1-0,0;0
                WindowTitle "Photoviewer Pro - [" + Name$ + "]"

            Endif

        elseif Clicked(neu1&)

            loadbmp "pp.bmp",100,0;0

        elseif Clicked(beenden1&)

            e%=1ist ja Schleifenende also Ende

        endif

    endwhile

    end
 
02.08.2009  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.464 Betrachtungen

Unbenanntvor 0 min.
Uwe Lang16.09.2013
Stephan Sonneborn27.03.2012
liveFamilie05.02.2012

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie