Deutsch
Forum

Ich habe M... gebaut und brauche Hilfe.

 

Stephie
Ich habe ausversehen die Kopie der Originaldatei (mit den Kommentaren) gelöscht. Jetzt macht das Programm nicht mehr das was es soll am Anfang. Habe wohl irgendetwas aus versehen gelöscht. Wisst ihr weiter ?
Beim Start erscheint ein Startfenster in der Mitte des Bildschrims. Dieses Fenster besteht aus einer Grafik und einem Text.
Dann öffnet sich das Hauptfenster über den ganzen Bildschirm mit einer Grafik im Hintergrund und dem Menu.
Es funktionierte alles. Durch das "rumspielen", macht ja nichts wenn man eine Original Kopie hat (wenn man diese dummerweise nicht löscht), erscheint jetzt beim Start des Hauptfensters kurzzeitig das Bild des Startfensters links oben und dann kommt erst die Hauptgrafik des Hauptfensters.
Da mir auch die entsprechenden Kommentare jetzt fehlen, weis ich selber nicht was fehlt oder ich gemacht habe.
Asche auf mein Haupt und hoffen das ihr mir weiterhelfen könnt bevor ich wieder alles durchsuchen muss. Alles andere klappt wieder, das habe ich hinbekommen nur hier keine Ahnung mehr .........
KompilierenMarkierenSeparieren
'----- Programm -----
'----- Start Fenster -----
WindowStyle 1 | 2 | 4 | 8 | 16
Zentriert(750,290)'Zentriert wurde am Anfang mit Proc erzeugt
WindowTitle Titel$'Titel$ wurde am Anfang festgelegt
CLS
hdl& = Create("hSizedPic",-1,SBild$,Width(%hwnd),Height(%hwnd),0)'SBild$ ist die Startgrafik
bild& = Create("Bitmap",%hwnd,hdl&,0,0)
TextColor rgb(1,1,1), -1
Drawtext 130,85,"Familie im Netz Version 1.0 portable"
Sleep 5400
'--------------------------
'----- Haupt-Programm -----
'--------------------------
Ende% = 0
WindowStyle 1 | 2 | 4 | 8 | 16
WindowTitle Titel$ + " - [" + Zusatz$ + "]"'Titelzeile = Programmname und am Anfang keine Datei geladen anzeige
CLS
ShowMax
'----- Hintergrundbild an Fenster anpassen -----
hdl& = Create("hSizedPic",-1,HGB$,Width(%hwnd),Height(%hwnd),0)'HGB$ ist die Hintergrundgrafik des HAuptfensters
bild& = Create("Bitmap",%hwnd,hdl&,0,0)
'----- Menu -----
 
21.08.2011  
 



Hm Dein Code ruft eine Funktion "zentriert" auf aber die liegt nicht bei.

Ein paar Anmerkungen:

Du nutzt mehrmals WindowStyle vlt. um den Stil des Hauptfenster erneut festzulegen -

WindowStyle um den Hauptfensterstil zu definieren kann nur einmal vor Erzeugung des Hauptfensters angewandt werden.

Dann nutzt Du sleep vermutlich in der Hoffnung das Dein "Splash-Screen" eine Zeit lang angezeigt wird -

das kann aber nach hinten losgehen da Sleep eher sowas wie "ProgrammAnhalten" heißt und wenn das Fenster bis dahin nicht vollständig gemalt/ aufgebaut wurde dann sieht man "nix". Wenn der Nutzer warten soll dann immer besser waitInput da der Thread dabei nicht stehen bleibt.

Z.B.
KompilierenMarkierenSeparieren
 
21.08.2011  
 




Stephie
Der mit Zentriert erzeugte Code, setzt das Fenster immer mittig Bildschirm.
KompilierenMarkierenSeparieren
'----- Fenster Zentriert -----

Proc Zentriert

    Parameters b%,h%
    Window ((%maxx - b%) / 2),((%maxy - h%) / 2) - b%,h%

EndProc


Das mit Windowstyle im Haupt-programm (im code) ist ein versehen, jetzt wo du es schreibst. Dort sollte es nicht mehr erscheinen.
Ja sleep sollte das Fenster anhalten um dann später weiterzumachen.
Werde mir aber deinen Vorschlag zu Herzen nehmen und mal tauschen.
 
21.08.2011  
 




Stephie
Sorry das ich mich erst jetzt melde, aber ein bekannter hat versucht mir meine gelöschte Datei zurück zu holen. Und er hat es geschafft.
Jetzt ist wieder alles beim alten.

iF, habe deinen Code getestet und für mich als nicht akzeptabel gefunden.
Es sollte ein startfenster erscheinen, damit der Anwender es kurz lesen kann und dann sollte das Hauptprogramm gestartet werden.
Mit deinem Code geht es gleich über in das Hauptfenster ohne das man die Chance hat das Startfenster zu sehen und zu lesen.
Also muss ich bei meiner Variante mit sleep bleiben.
Danke trotzdem für den Hinweis, habe mir es mal sicherheitshalber abgespeichert.
 
23.08.2011  
 



Grüße!

Aber... ne - dann hast Du es meiner Meinung nach nicht "richtig" eingebaut.

Du musst an die Funktion genauso wie an Sleep als Parameter die Anzahl der zu wartenden Millisekunden anhängen.

userWarte 2000 wird definitiv mindestens 2 Sekunden warten -

bei Sleep hingegen kann es sein - wie ich schon schrieb - dass es im Ergebnis nicht immer so funktionieren wird wie Du Dir erhoffst wobei ich nicht von 1 Computer und 1 Betriebssystem schreibe sondern eben von einer breiten Masse.
 
23.08.2011  
 




Jörg
Sellmeyer
Hm - dann kann man das doch auch gleich so vereinfachen:
KompilierenMarkierenSeparieren
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.08.2011  
 




Paul
Glatz
Für mich sieht das wie eine Endlosschleife aus
 
23.08.2011  
 




Julian
Schmidt
Ist auch eine Endlosschleife
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
23.08.2011  
 




Jörg
Sellmeyer
Sorry! Hatte ein Break vergessen.
KompilierenMarkierenSeparieren
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.08.2011  
 



Nein kann man nicht da ne Nachricht reicht um die "Schleife" zu durchbrechen statt ms gewartet wird. oO Nach Deim Prinzip ist ja auch das While bzw. die Schleife ohne Bedeutung.
 
23.08.2011  
 




E.T.
Ich "baue" so einen Splash-Screen meist so, nur zur Anmerkung:
KompilierenMarkierenSeparieren
Proc Splash

    Parameters SplashText$
    var Pic&[1] = @Create("hPic",Dll2&,"Splash")
    var Splash_Win& = @Create("Bitmap",%Desktop,Pic&[1],(%MaxX/2-280),(%MaxY/2-280))
    StartPaint Splash_Win&
    TextColor RGB(255,255,0),-1
    UseFont "Arial",30,15,1,1,0
    DrawText 15,(@Height(Splash_Win&)-50),SplashText$
    EndPaint
    waitinput 2000'Zeit je nach Wunsch, oder ohne Zeit um auf User zu warten
    destroyWindow(Splash_Win&)

EndProc


Parameter ist ein variabler Text, der auf dem Bild angezeigt wird. Bei mir stammt das Pic aus 'ner dll (da verpack ich immer alles, was als "Zubehör" zum Progg gilt. Ein einfaches .bmp zu laden ist aber im Prinzip das gleiche....)
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
24.08.2011  
 



@E.T.: Naja, bei Deinem Beispiel ist es dem User möglich auch weniger als 2000ms zu warten z.B. indem er klickt. Soll der Splash aber eine gewisse Zeit angezeigt werden dann bringt das halt die Funktion die ich oben geschrieben habe.
 
25.08.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.626 Betrachtungen

Unbenanntvor 0 min.
E.T.25.12.2015
Peter Max Müller30.09.2014
Paul Glatz05.08.2014
Udo Bel07.01.2014
Mehr...

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