  | 
					
						Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!   
						
						
					 | 
				 
			 
			 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		The_Muh aka Mark Aroni
  
  Anmeldungsdatum: 11.09.2006 Beiträge: 718
 
  | 
		
			
				 Verfasst am: 11.09.2006, 16:34    Titel: Malprogramm-problem | 
				     | 
			 
			
				
  | 
			 
			
				ich hab 'n problem mit meinem 'malprogramm'
 
man kann damit zwar  via koordiaten eingabe 'malen'
 
aber die abragetexte und Print's werden dauerhaft angezeigt und das bild rutscht nach oben, also ist es eher schwer damit zu malen... ich stell man den Code hier rein:
 
 
 	  | Code: | 	 		  
 
CLS
 
Screen 9
 
Locate 20,60
 
Print "|------------------|"
 
locate 21,60
 
Print "|Q = Beenden       |"
 
locate 22,60
 
Print "|L = Linie zeichnen|"
 
locate 23,60
 
Print "|P = Punkt Zeichnen|"
 
locate 24,60
 
Print "|K = Kreis zeichnen|"
 
Locate 25,60
 
Print "|------------------|"
 
Farbe%= 15
 
a$="w"
 
locate 0,0
 
while a$="w" 
 
    Input "Was möchtest du machen?",b$
 
        if b$="F" or b$="f" then Input "Welche Farbe? (1-15)",Farbe%
 
        if b$="q" or b$="Q" then a$="q"
 
        
 
        If b$="L" or b$="l" then 
 
                                Print "Koordinaten angeben:"
 
                                Input "Hoehe X1 = ",x1%
 
                                Input "Breite Y1 = ",y1%
 
                                Input "Hoehe X2 = ",x2%
 
                                Input "Breite Y2 = ",y2%
 
                                Input "Welche Farbe? (1-15)",Farbe%
 
                                Line (x1%,y1%) -(x2%,y2%),Farbe%
 
        End if
 
         
 
        If b$="P" or b$="p" then
 
                                Print "Koordinaten angeben:"
 
                                Input "Hoehe X1 = ",x1%
 
                                Input "Breite Y1 = ",y1%
 
                                Input "Welche Farbe? (1-15)",Farbe%
 
                                PSet (x1%,y1%),Farbe%
 
        end if
 
        
 
        If b$="K" or b$="k" then 
 
                                Print "Koordinaten angeben:"
 
                                Input "Hoehe X1 = ",x1%
 
                                Input "Breite Y1 = ",y1%
 
                                Input "Welche Farbe? (1-15)",Farbe%
 
                                Input "Radius angeben :",Radius%
 
                                Circle (x1%,y1%),Radius%,Farbe%
 
        End If
 
        
 
Wend
 
sleep 3000
 
 | 	  
 
Am besten wär es das Eingabe fenster vom ausgabe fenster zu trennen, sprich Angaben, koordinaten (...) in ein fenster und die grafiken in das andere... 
 
 
P.S. sorry das ich die anwendung nich kommentiert hab, aber ich hab das teil schon in der schule aufn zettel geschrieben und keine zeit und keinen nerv für's kommentieren gehabt... _________________ // nicht mehr aktiv // | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 11.09.2006, 20:22    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				dein programm benutzt ja den SCREEN 9. wenn du da in zeile 24/25 schreibst, wird automatsisch "hochgescrollt". warum? ganz einfach: wenn  du schreibst
 
PRINT "hallo"
 
wird nach dem "hallo" ein zeilenumbruch gemacht, damit die nächste print-anweisung in der nächsten zeile steht.
 
abhilfe schafft
 
PRINT "hallo";
 
 
oder du schreibst deine texte etwas weiter oben. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		The_Muh aka Mark Aroni
  
  Anmeldungsdatum: 11.09.2006 Beiträge: 718
 
  | 
		
			
				 Verfasst am: 12.09.2006, 15:07    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Jojo hat Folgendes geschrieben: | 	 		  
 
oder du schreibst deine texte etwas weiter oben. | 	  
 
 
hab ich versucht (siehe code zeile ??) hab das Locate wieder aus 0,0 gesetzt, aber selbst wenn das funktioniert, das 'gemalte' wird ja trotzdem überschrieben, und mit CLS wird alles gelöscht... _________________ // nicht mehr aktiv // | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 14.09.2006, 19:41    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi versuch es mal so
 
 	  | Code: | 	 		  
 
Sub ErsteZeile ' Eingabe immer in der ersten Zeile
 
  Locate 1,1 
 
  Print String(70," ");
 
  Locate 1,1
 
End Sub
 
 
Screen 18, 4 'größeres Fenster mit nur 16 Farben
 
Farbe%= 15
 
Do
 
  ErsteZeile : Input "(q)uitt , (l)inie (p)unkt (k)reis (b)ox (kf);(bf) gefuellt > ",b$
 
  b$ = Trim(Ucase(b$))
 
  If Len(b$) > 1 Then
 
    f$ = Right(b$,1)
 
    b$ = Left(b$,1)
 
  Else
 
    f$ = ""
 
  End If
 
  
 
  If b$ = "L" Or b$ = "P" Or b$ = "K"  Or b$ = "B" Then
 
    ErsteZeile : Input "Welche Farbe? (1-15) ",Farbe%
 
    ErsteZeile : Input "Hoehe X1 = ",x1%
 
    ErsteZeile : Input "Breite Y1 = ",y1%
 
    If b$ = "P" Then Pset (x1%,y1%),Farbe%
 
    If b$ = "L" Or b$ = "B" Then
 
      ErsteZeile : Input "Hoehe X2 = ",x2%
 
      ErsteZeile : Input "Breite Y2 = ",y2%
 
      If b$ = "L" Then Line (x1%,y1%) - (x2%,y2%), Farbe%
 
      If b$ = "B" Then
 
        If f$ = "F" Then
 
          Line (x1%,y1%) - (x2%,y2%), Farbe%,BF
 
        Else
 
          Line (x1%,y1%) - (x2%,y2%), Farbe%,B
 
        End If
 
      End If
 
    End If
 
    If b$ = "K" Then
 
      ErsteZeile : Input "Radius angeben :",Radius%
 
      If f$ = "F" Then
 
        Circle (x1%,y1%),Radius%,Farbe%,,,,F
 
      Else
 
        Circle (x1%,y1%),Radius%,Farbe%
 
      End If
 
    End If
 
  End If
 
  If b$ = "C" Then Cls
 
Loop Until b$="Q"
 
ErsteZeile : Print "Bye bye .."
 
Sleep 3000  | 	  
 
Eine Version mit 2 Fenstern ist sehr kompliziert, versuche erst mal die hier verwendeten Anweisungen zu benutzen    
 
Gruß Volta _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		The_Muh aka Mark Aroni
  
  Anmeldungsdatum: 11.09.2006 Beiträge: 718
 
  | 
		
			
				 Verfasst am: 15.09.2006, 14:37    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Danke Volta, hat funktioniert, 
 
allerdings werd ich noch 'n wenig daran arbeiten (soll ja Meins sein und nicht dein xD)
 
 
kannst du mir folgendes noch mal erläutern?:
 
 	  | Code: | 	 		  
 
Sub ErsteZeile ' "sub" is hier unklar, ich kenn das sonst nur von VB von MS..
 
  Locate 1,1 ' locate ist klar,
 
  Print String(70," "); '< das mit dem String(70," "); versteh ich nicht...
 
  Locate 1,1 's.o.
 
End Sub 'scheint der end-befehl zu sein...
 
 | 	  
 
 
ich bin eben 'n BASIC anfänger... _________________ // nicht mehr aktiv // | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 15.09.2006, 17:44    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Mark Aroni hat Folgendes geschrieben: | 	 		  | .. allerdings werd ich noch 'n wenig daran arbeiten (soll ja Meins sein und nicht dein xD) | 	  richtig, so war das auch gedacht!    
 
 
Sub ErsteZeile < der Name eines Unterprogramms.
 
Immer wenn im weiteren Basicode dieser Name 'ErsteZeile' steht wird alles zwischen SUB .. END SUB ausgeführt.
 
 
String(70," ") < Hier wird ein String gebildet der 70 Zeichen enthält und zwar " " Leerzeichen.
 
 
Ich hoffe du machst mit freeBASIC weiter,    
 
dann solltest du dir die Referenz von Dusky_Joe laden
 
http://stefan.freebasic.de/DATA/FBRD_06-09-01.chm
 
und mal bei http://freebasic.de/ umsehen.
 
 
Gruß Volta _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		The_Muh aka Mark Aroni
  
  Anmeldungsdatum: 11.09.2006 Beiträge: 718
 
  | 
		
			
				 Verfasst am: 15.09.2006, 18:58    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Danke für die erklärung^^
 
kann man in Sub's komplette programme einbauen?
 
dann könnte man auch ein 10-in-1 tool basteln xD
 
 
die refferenz hab ich mir runter geladen und guck ich mir gleich an... 
 
und zum programm: 
 
ich hab erstmal 'nen easteregg eingebaut  
 
dann hab ich den Hintergrund weiß gemacht und die legende verändert... wird noch mehr mit passieren...aber vll. erst wenn ich besser mit FB umgehen kann... _________________ // nicht mehr aktiv // | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 16.09.2006, 13:06    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi,
 
 	  | Zitat: | 	 		  | kann man in Sub's komplette programme einbauen? | 	  
 
wenn du die FB-Referenz jetzt hast, lese dir mal das Kapitel 'Prozeduren' durch.
 
Dort wird das ausführlich erklärt. _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
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.
  | 
   
 
     |