Darstellungs Problem von Text

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ozzi789

Betreff: Darstellungs Problem von Text

BeitragSo, Jun 01, 2008 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry
hab das ganze geändert und es funkt einigermassen


Doch wen ich jetzt enter drück um zu einem input zu gelangen ,welches den nächsten Ordner definiert, sieht man einfach nichts davon :S

Code: [AUSKLAPPEN]
Graphics 800,600,16,2

a=LoadFont (Arial,14)
SetFont(a)

folder$= "C:\"


scrolled%=0
zeilen%=0


Dim Textarray$(999)
For i=0 To 999
Next

.s
scrolled=1


myDir=ReadDir(folder$)




While Not KeyHit (1)


file$=NextFile$(myDir)

If file$="" Then Exit

If FileType(folder$+"\"+file$) = 2
If Not file$ = ".."
If Not file$ = "."
x=x+1
Textarray(x)=file$
EndIf
EndIf
EndIf


;If FileType(folder$+"\"+file$) = 1 Then
;Print "File:" + file$
;EndIf
Wend



While Not KeyHit(28)
Cls
zeilen=0   ;Die gemalten Zeilen wieder auf 0 setzen.
   

Select MouseZSpeed ()
Case -1
scrolled=scrolled-1
Case 0
Case 1
scrolled=scrolled+1
End Select


If scrolled<1 Then scrolled = 1

   maxscroll=scrolled*53   ;Bis zum Bildschirmrand
   While maxscroll>999
      maxscroll=maxscroll-1   ;Darauf achten, dass man nicht aus dem Array gelangt!
   Wend
   For i=scrolled To maxscroll
      zeilen=zeilen+1      ;Gemalter Zeilenwert.
      Text 0,zeilen*12,Textarray(i)   ;Malen
   Next
   Text 400,0,scrolled






Flip
Wend

While Not KeyHit(1)

Cls
nexxt$=Input ("")
Flip

folder$=folder$+"\"+nexxt$
;If folder$= 0 Then End
Goto s
Wend







WaitKey


CloseDir myDir
End
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Dreamora

BeitragSo, Jun 01, 2008 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst nicht Input und Grafikbefehle nutzen und erwarten das es geht.
Da wirst du dir wohl ne eigene eingabebasierende Inputroutine schreiben. Gibt im Codearchiv einige davon.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

ozzi789

BeitragSo, Jun 01, 2008 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Sinne von :

Code: [AUSKLAPPEN]

pw$=pw$+Chr(GetKey())


?
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

The_Nici

BeitragSo, Jun 01, 2008 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
If Getkey()<>0 haste vergessen. Ansonsten geht garnix.

ozzi789

BeitragMo, Jun 02, 2008 12:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx , funkt Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Tankbuster

BeitragMo, Jun 02, 2008 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Nurmal so nebenbei...
besser wäre
Zitat:
If Getkey()>0

Weil GetKey() sowieso nie kleiner als 0 sein kann Wink
*klugscheiß*
Twitter
Download Jewel Snake!
Windows|Android

ozzi789

BeitragMo, Jun 02, 2008 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Lol stimmt , aber das is jetzt auch nicht soo preformance sparend Wink

mfg
oz
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ozzi789

BeitragMo, Jun 02, 2008 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso geht das so nicht ? Embarassed Embarassed

Code: [AUSKLAPPEN]
Graphics 800,600,16,2

nexxt$

While Not KeyHit(1)


Text 0,0, nexxt$

If GetKey <> 0
nexxt$=nexxt$+Chr(GetKey())
EndIf



Flip


Wend
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Megamag

BeitragMo, Jun 02, 2008 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast
Code: [AUSKLAPPEN]
SetBuffer BackBuffer()

vergessen (das muss direkt unter Graphics).

The_Nici

BeitragMo, Jun 02, 2008 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 800,600,32,2

nexxt$=""

While Not KeyHit(1)
   Text 0,0, nexxt$
   gkey=GetKey()
   If gkey <> 0
   nexxt$=nexxt$+Chr(gkey)
   EndIf
   Flip
   Cls
Wend


Getkey in einer Variable speichern. Wink

ozzi789

BeitragMo, Jun 02, 2008 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
oups ^^

Und wieso ist das so ? (ich mein is ja kein eigentlicher unterschied xD)
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Gast

BeitragMo, Jun 02, 2008 16:17
Antworten mit Zitat
Doch, beim abfragen wird GetKey Gelöscht!
Ausserdem Hast du Bei "If GetKey <> 0" die Klammern vergassen.
Kleiner Tipp: Mach immer eindeutige Variablennamen, denn wofür steht nexxt?

ozzi789

BeitragMo, Jun 02, 2008 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Geht auch ohne

2. Weil es der Nächste ordner ist , und next geht nicht also nexxt RazzRazz


noch ne frage zu eingabe routine :


Code: [AUSKLAPPEN]
   If KeyHit(18)
      lenghtnexxt=Len(nexxt$)-1
            nexxt$= Left(nexxt$,lenghtnexxt)
   EndIf


sollte ja eigentlich einen backspace machen wieso geht das ned ?
(backspace = den letzten buchstaben löschen)

EDIT :

Wtf sry, backspace ist (14) aber wieso ist beim scancodepicker 18 und in der liste 14 ?
(hab das neuste doc pack)
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

The_Nici

BeitragMo, Jun 02, 2008 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
14 ist das richtige.
Nun, ich habs immer so gemacht:
Code: [AUSKLAPPEN]

If KeyHit(14) Then
   txt$=Left(txt$,Len(txt$)-1)
EndIf


Dabei nimmt man den Textausschnitt bis Länge-1 von Links des Textes. Wink

Tankbuster

BeitragMo, Jun 02, 2008 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Nici,... dein Code macht genau das selbe wie ozzis (für Klugscheißer: außer das man eine andre taste drücken muss^^). Sieht nur en bissl schöner aus Wink
*hust*
Twitter
Download Jewel Snake!
Windows|Android

The_Nici

BeitragMo, Jun 02, 2008 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert jedoch scheinbar bei mir. Wenns bei ihm nicht funktioniert - I dunno lol.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group