Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Programmausführung nur bei Radien über 50 möglich (Kreisbewegung)

Frage Entwicklung Assembler

Mitglied: supernicky

supernicky (Level 1) - Jetzt verbinden

09.08.2011 um 23:28 Uhr, 2718 Aufrufe, 1 Kommentar

Hallo,

ich habe ein Programm geschrieben bei dem man einen Punkt wahllos auf der Form platzieren kann.
Bei jedem Klick wird dieser Punkt genau ein Grad weiter verschoben. Da ich nicht mit vorberechneteten Zahlen arbeiten will habe ich folgendes ersonnen.

Im Klick-Ereignis der Form:

Auslesen der X und Y Position des Punktes.
Entfernung zum Mittelpunkt ermitteln und den dazu gehörigen Winkel (siehe mein langer Thread vorher!!!!!!)
Winkel + 1
Alten Punkt löschen und neuen zeichnen (per GDI)
Neue Koordinaten des Punktes speichern

Das ganze klappt wirklich gut, aber leider habe ich das Problem sobald der Radius 50 oder kleiner ist, nach ein paar "Bewegungen" sich nichts mehr tut auf dem Schirm.
Bei Radien ab 51 und größer läuft alles fehlerfrei.

Ich lasse mir in einer Textbox einzelne berechnete Werte anzeigen und kann dort keinen Fehler entdecken. Er hört halt einfach auf.

Zum Programm:
Alle Variablen sind 32bit Werte. (DWORD)
Alle Berechnungen werden komplett mit der FPU berechnet.
Rückgabe der berechneten Werte erfolgt als Integer (Ganzzahl)

Falls jemand eine Idee haben könnte woran es liegt währe ich wie immer sehr dankbar.

MfG

Nicky
Mitglied: supernicky
10.08.2011 um 05:39 Uhr
Ich glaube ich habe die Lösung gefunden...

Wenn der Punkt auf der selben X oder Y Achse ist wie der Mittelpunkt ist eine Seite des Dreiecks = 0.
Durch eine IF Abfrage habe ich bei 0 den Wert auf 0,3 geändert... Am Ergebnis ändert das nichts aber es ist immer eine Zahl größer Null.

Komisch ist das der Fehler nur bei den Radien kleiner 51 Pixel vorkommt...

Nun läuft alles rund...

Nicky
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Userverwaltung
gelöst Ausnahmen für FSRM pro User oder für jede Situation möglich? (5)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Windows 10
Keine Tastatureingabe in Systemapps möglich

Frage von OSIlayer8 zum Thema Windows 10 ...

Windows Server
Ordnerumleitung durch Zugriffsverweigerung nicht möglich (1)

Frage von F5Hauer zum Thema Windows Server ...

Windows Server
gelöst Servername in der Domäne ändern nicht möglich (4)

Frage von Ghost108 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (14)

Frage von smartino zum Thema Mac OS X ...