![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Gast
Beiträge: n/a
|
deleted.
Geändert von Mylen (14.09.2010 um 21:27 Uhr) |
|
|
|
|
#2 (Direktlink) |
|
Wohnt hier
![]() Registriert seit: 06.02.2008
Ort: Landkreis Vorpommern-Rügen
Alter: 61
Beiträge: 2.152
|
gelöscht
__________________
Gruß Eisbär Den PC neu aufsetzen hilft Probleme zu beseitigen und schafft reichlich neue. Denk mal nach: Wer seine Privatsphäre nicht schützt, hat auch keine! Geändert von Eisbär (12.07.2010 um 17:11 Uhr) Grund: gelöscht |
|
|
|
|
|
#3 (Direktlink) |
|
Gast
Beiträge: n/a
|
deleted.
Geändert von Mylen (14.09.2010 um 21:27 Uhr) |
|
|
|
#4 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
|
Mach Geraden-Abschnitte draus, so gehts am schnellsten...
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3 |
|
|
|
|
|
#5 (Direktlink) | |
|
Gast
Beiträge: n/a
|
Zitat:
ich empfehle Dir für die Darstellung in ein create("hPic",... hineinzumalen und dieses dann mit einem Create("Bitmap",... anzuzeigen - so musst Du Dich nicht weiter um die Anzeige und Darstellung kümmern. So kann man sich ein Control dafür bauen ( wie z.B. Bildanzeige: 3586 ) welches z.B. Daten aus einem Array darstellt. |
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
In der Regel werden die einzelnen Punkte mittels Formel berechnet und z.B. mit SetPixel ins Fenster "gemalt".
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#7 (Direktlink) |
|
Gast
Beiträge: n/a
|
deleted.
Geändert von Mylen (14.09.2010 um 21:28 Uhr) |
|
|
|
#8 (Direktlink) |
|
Stammuser
![]() Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
|
Jede Menge Tips auf Codesnippets-liste
Oder hilft ein abgewandeltes Mini daraus weiter? Code:
Def GetSysColor(1) !"USER32","GetSysColor"
Proc F
Parameters x%
Declare y%
y% = x% ^2 +n% *20
return y%
EndProc
' Hauptprogramm
'
Declare a%, n%
Decimals 0
SetTrueColor 1
WindowStyle 26
Window 0, 0 - 750, 730
WindowTitle "Parabel"
Cls GetSysColor(15)
declare edit&, start&, text&,ELEMENT1&
text&=CreateText(%hwnd,"Bitte den Wert eingeben",10,670,200,24)
Edit&=CreateEdit(%hwnd,"0",220,670,40,24)
start&=CreateButton(%hwnd,"Start",300,670,60,24)
Zeichnen
While 1
WaitInput
case %key=2: BREAK
If GetFocus(start&)
n% = val(GetText$(edit&))
Zeichnen
Endif
Endwhile
DestroyWindow(Element1&)
End
Proc Zeichnen
DestroyWindow(Element1&)
' ELEMENT1&=Control("DIALOG","",$54001100,0,0,730,630,%hwnd,0,%hinstance,$0)
' StartPaint element1&
MCls 750, 650 ,RGB(255,255,255)' ab XProfan 9
StartPaint -1 ' ab XProfan 9
' Koordinatensystem zeichnen
UsePen 0, 1, RGB(20, 20, 20)
Line 10, 600 - 720, 600' x
Line 370, 10 - 370, 740' y
TextColor 0, -1
UseFont "Courier New", 15, 0, 0, 0, 0
' Zahlen
UsePen 0, 1, 0
UseFont "Arial", 15, 0, 0, 0, 0
' x
Whileloop 35
Line ((&loop *20) +10), 600 - ((&loop *20) +10),610
DrawText ((&loop *20) +5), 610, Str$(-18 +&loop)
Wend
' y
Whileloop 34
Line 360, ((&loop *20)) - 370, ((&loop *20))
DrawText 375, ((&loop *20) -6), Str$(30 -&loop)
Wend
' Parabel zeichnen
' Linke
UsePen 5, 0, RGB(31, 31, 31)
LineTo (19*20), 600 - (n%*20)
While 1
inc a%
UsePen 0, 1, RGB(255, 0, 0)
F a%
Case 600 -%(0)< 0: break
LineTo (370 -(a% *10)), 600 -%(0), 0
wend
Clear a%
' Rechte
UsePen 5, 0, RGB(31, 31, 31)
LineTo (19*20), 600 -(n%*20)
While 1
inc a%
UsePen 0, 1, RGB(255, 0, 0)
F a%
Case 600 -%(0)< 0: break
LineTo (370 +(a% *10)), (600 -%(0)), 0
wend
clear a%
' Textanzeigen
UseFont "Courier New", 18, 0, 1, 0, 0
DrawText 4, 4, "Parabel für: f(x) = y = x²"
endpaint
element1&=Create("hPic",0,"&MEMBMP" ) ' ab XProfan 9
DrawPic element1&, 0, 0; 0 ' ab XProfan 9
Endproc
|
|
|
|
|
|
#9 (Direktlink) |
|
Gast
Beiträge: n/a
|
deleted.
Geändert von Mylen (14.09.2010 um 21:28 Uhr) |
|
|
|
#10 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
|
Zitat:
Sind die Daten in einer Datei, so muß die DATEI über Assign #n geöffnet und die Werte mit Input #nn, Zeile$ extrahiert und ggf. in einer Listbox, Auswahlbox oder Gridbox abgelegt werden. Hier können sie dann angezeigt und ausgewählt werden. Dann sind vermutlich 3 Werte in Zeile$, die wiederum feste "Spaltenbreite" oder "Spaltentrenner (, oder ; ) " haben können. Also auflösen und den entsprechenden Variablen der Formel übergeben. Die Daten können natürlich auch im eigenen Fenster (@Create("Window",N,S,X1,Y1,X2,Y2)) , das ein- und ausgeblendet werden kann, angezeigt und bearbeitet werden. Beispiel: Sollen nur Daten eingegeben werden können, so kommt natürlich Create("Edit",...) zum Einsatz, je Variable. Und sollen aus der Auswahlbox die Werte in EDITs, um z.B. die Kurve zu betrachten, wenn sich ein Wert verändert: 1. mit @GetString$(N1,N2) auslesen und auflösen 2. und mit SetText N1, S die EDITs füllen Gruß Thomas Geändert von THFR (20.07.2010 um 03:01 Uhr) |
|
|
|
|
|
|
|
#11 (Direktlink) |
|
Gast
Beiträge: n/a
|
deleted.
Geändert von Mylen (14.09.2010 um 21:28 Uhr) |
|
|
|
#12 (Direktlink) |
|
Stammuser
![]() Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
|
Darauf wird kaum einer eine Antwort parat haben, denn es ist z.Z. unbekannt wie die Daten verarbeitet und den Variablen zugewiesen werden.
Also: Code! |
|
|
|
|
|
#13 (Direktlink) |
|
Gast
Beiträge: n/a
|
deleted.
Geändert von Mylen (14.09.2010 um 21:28 Uhr) |
|
|
|
#14 (Direktlink) |
|
Stammuser
![]() Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
|
Fenster oben links ist 0,0 . Linien Anfang/Ende zur Basis (ist Kurve 0,0) dann halt berechnen.
Code:
Window 0, 0 - 750, 730 WindowTitle "Parabel" declare Basis_y! Basis_y!= Width(%HWnd) / 1.5 declare Basis_x! Basis_x! = Height(%hWnd) / 2.8 ' Koordinatensystem zeichnen UsePen 0, 1, RGB(20, 20, 20) Line 0, Basis_x! - Width(%HWnd), Basis_x!' x Line Basis_y!, 0 - Basis_y!, Height(%Hwnd)' y Declare n%, a% n% = 0 ' zeichnen oberhalb der Basislinie UsePen 5, 0, RGB(31, 31, 31) LineTo Basis_y!, Basis_x! While 1 inc a% UsePen 0, 1, RGB(255, 0, 0) F a% Case Basis_x! -%(0)< 0: break LineTo (Basis_y! -(a% *10)), Basis_x! -%(0), 0 wend Clear a% n% = 0 ' zeichnen unterhalb der Basislinie UsePen 5, 0, RGB(31, 31, 31) LineTo Basis_y!, Basis_x! While 100 inc a% UsePen 0, 1, RGB(255, 0, 0) F a% Case Basis_x! -%(0)> Basis_x!: break LineTo (Basis_y! -(a% *10)), Basis_x! +%(0), 0 wend WaitInput End proc F Parameters x% Declare y% y% = x% ^2 -n% *20 return y% EndProc |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| JIF-Anzeige zu JPG-Anzeige umstellen | elisabay | Windows Vista | 2 | 09.03.2010 21:04 |
| Anzeige | Simser | Windows XP | 10 | 20.01.2007 11:07 |
| IP Anzeige | astrastyle | PHP/MySQL | 51 | 15.05.2005 22:19 |
| Anzeige | Chris20 | Office-Anwendungen | 1 | 28.08.2004 13:24 |
| Anzeige 3.0GH | Chrk | Windows XP | 3 | 25.12.2003 14:38 |