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:

Fix/Var String & Peek

 
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
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 28.02.2007, 00:21    Titel: Fix/Var String & Peek Antworten mit Zitat

Habe gerade mal wieder folgenes Problem...
und zwar hatte ich vor einen bestimmten Bildschirmausschnitt auszulesen, um mir den nächsten Freien platz für eine Grafik zurückzugeben...

Also dachte ich mir, wenn ich weiss das Grafik Xsize x Ysize gross ist das ich dann nach einen platz dieser Grösse auf einen Screenbuffer suche und mir das ergebniss in einer UDT zurück geben lasse...

jetzt dachte ich eigentlich ich könne das mit einem Fix String und Peek machen

also:
Code:

Dim xyz as string * VarSize
Peek Screenbuffer,xyz


aber das vorhaben scheitert schon bei Dim xyz as string * VarSize
da FreeBasic einen FixString nur dann erstellen kann wenn die Variable eine Constante ist, aber da Verschiedene Grafiken auch unterschiedliche groessen haben habe ich mich nun gefragt welche sinnvolle Methode es noch geben könnte, die ausreichend schnell ist bevor ich alles mit point
mache ?!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 28.02.2007, 00:29    Titel: Antworten mit Zitat

1. Wieso String?
2. Warum nicht direktzuweisung?
3. ReDim schon ma angeguckt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 28.02.2007, 00:37    Titel: Antworten mit Zitat

weil ich mit einem String eine vereinfachte abfrage machen kann,

if xyz=string(size,0) then ok
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4700
Wohnort: ~/

BeitragVerfasst am: 28.02.2007, 00:49    Titel: Antworten mit Zitat

Geht in dem Fall ein String variabler Länge nicht? Eventuell erzeugt durch
Code:
xyz$ = STRING$(laenge, 32)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 28.02.2007, 00:58    Titel: Antworten mit Zitat

Ich will den String ja nicht einfach erzeugen sonder anhand der Bilddaten erstellen lassen...

Wenn ich normal..
Code:

Dim xyz as String *20
peek scrbuffer,xyz

..mache, liest er mir 20pixel vom Bildschirm aus und kann dann überprüfen ob der Teil aus 0 besteht oder nicht um dann die überprüfung fortsetzen bzw weiter zu suchen... da Grafiken aber variabel gross sind muss auch der string variabel gross sein und ich wollte eigentlich nicht jeden einzelnen Pixel bzw jeden Pixel aus einer reihe auslesen...

hab es jetzt zwar schon so gemacht, hab aber gedacht es geht noch etwas geschwindigkeitsoptimierter....

PS: wie mache ich eigentlich Code-Boxen hier..??

sollte vielleicht noch erwähnen, das ich im 8bpp-1byte screen arbeite...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 28.02.2007, 02:41    Titel: Antworten mit Zitat

Das hab ich bisher erreicht, wenn man später einige Grafiken zu laden hat ist das ganze etwas zu langsam

http://home.arcor.de/eternal_pain/EP_Init.bas
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
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