Variabel Namen zusammensetzen aus String + Integer
Übersicht

obilanerBetreff: Variabel Namen zusammensetzen aus String + Integer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo.
Ich würde gerne lernen wie ich fortlaufend ansteigende Dateinamen, für einen Stapel Bilder ansprechen kann. Beispiel: Bild1-Bild10.jpg Für den Versuch habe ich versucht auf etwas primitive weise einen String und eine Integer zusammenzusetzen um daraus eine Variabelbezeichnung zu machen um dann nachher irgendwas mit Arrays und For-Next herumzuexperimentieren. Beispiel wie es nicht funktioniert: ![]() Das Endergebniss soll eine if Abfrage sein, die je nach Mausposition einer Variabel die der Dateinumerierung entspricht in einem Array einen zugehörigen bool wert auf true schaltet. Die Button zeichnen funktion soll dann per if abfrage das jeweilige Bild ersetzen durch das Bild mit dem gedrückten Knopf. Sorry bin absoluter Einsteiger und ziemlich verwirrt. ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst Variablennamen nicht zur Laufzeit generieren.
Erzeuge ein Array mit Dim ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst Strings aus Text und Zahlen erzeugen, indem Du einfach eine Variable mit dem Text kombinierst:
BlitzBasic: [AUSKLAPPEN] For i=1 To 9 Willst Du die vielen Bilder jeweils in eine eigene Variabe speichern macht man das mit einem Array: BlitzBasic: [AUSKLAPPEN] Dim Bild(10) Du kannst Die Bilder gemeinsam verarbeiten: BlitzBasic: [AUSKLAPPEN] Function ScaleImages() ...oder einzeln: BlitzBasic: [AUSKLAPPEN] DrawImage Bild(1), 100,100 |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nach 3 Sekunden hinsehen würde ich fast sagen du benötigst hierfür types....
hier: https://www.blitzforum.de/foru...hp?t=38124 hier: https://www.blitzforum.de/foru...hp?t=33551 oh ich habe ja auch mal etwas dazu geschrieben.. Von Dummys zu Dummys https://www.blitzforum.de/foru...hp?t=25321 |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
Spark Fountain |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es kommt drauf an, wie viele Bilder du während der Programmausführung erstellen willst.
Variante 1: Du weißt von vornherein genau, wie viele Bilder es sein sollen (z. B. 10 Stück). Dann eignet sich ein Array (dim). Variante 2: Du weißt nicht genau, wie viele Bilder während der Laufzeit (also während dein Programm läuft) erzeugt werden müssen. Dann solltest du dir ein Type-Tutorial anschauen. Viel Erfolg! |
||
Gewinner der MiniBCC's #11, #13 und #28 |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi, ich mache es eig immer so das ich nie alle bilder laden lasse, sondern wenn diese benötigt werden,
hat vor und nachteile, unter bmax gehts auch wesentlich schneller als unter bb aber hier geb ich dir mal ein bsp. von meiner seite http://projektworks.de/maxbase...amp;gid=21 Code: [AUSKLAPPEN] ;######################################
; ; TImage einfach einfügen im prog ; ;###################################### Global ImageToDraw% Type TImage Field Img Field Width#,Height#,Url$,Count%,Size#,Exist% End Type Function ImageLoad.TImage (Url$,Width%=-1,Height%=-1,Count%=0) Local Img.TImage=New TImage Img\Width=Width Img\Height=Height Img\Count=Count Img\Url=Url Img\Size=FileSize(Url) If Img\Size>0 Then Img\Exist=1 Return Img End Function Function ImageExist(Image.TImage) If Image\Exist=1 If Image\Img=False Then GetImage (Image) Return Image\Exist EndIf Return 0 End Function Function GetImage(Image.TImage) If Image\Exist=1 If Image\Img=False Then If Image\Width=-1 And Image\Height=-1 And Image\Count=0 Then Image\Img=LoadImage(Image\Url) Else Image\Img=LoadAnimImage(Image\Url,Image\Width,Image\Height,0,Image\Count) EndIf EndIf EndIf End Function Function ImageDraw(Image.TImage,X%,Y%,Tile%=0,DisableCheckSum%=0) If ImageExist(Image)=1 Then If DisableCheckSum=1 Or X>-1 And Y>-1 And X+ImageWidth(Image\Img) < GraphicsWidth() + 1 And Y+ImageHeight(Image\Img) < GraphicsHeight() + 1 Then DrawImage (Image\Img,X,Y,Tile) ImageToDraw=ImageToDraw+1 Endif EndIf End Function Function ImageScale(Image.TImage,Width%,Height%) If ImageExist(Image)=1 Then ResizeImage Image\Img,Width,Height EndIf End Function Function GetDrawImage%() Local A%=ImageToDraw ImageToDraw=0 Return A End Function Function ImageW%(Image.TImage) If ImageExist(Image)=1 Then Return ImageWidth(Image\Img) EndIf End Function Function ImageH%(Image.TImage) If ImageExist(Image)=1 Then Return ImageHeight(Image\Img) EndIf End Function example Code: [AUSKLAPPEN] Graphics 800,600,32,2
Local BG.TImage= ImageLoad ("Space.jpg") ImageScale(BG, 800,600) Local Maus.TImage=ImageLoad("Maus.png") Repeat ImageDraw BG,0,0 ImageDraw Maus,MouseX(),MouseY() Flip Cls Until KeyDown(1) bei imagedraw wird geprüft ob image vorhanden ist ect wenn ja wirds "gemalt" somit hast du es im typ und naja, falls es nicht hilft, ignorier es ![]() |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group