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, 2731 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 ..
Ähnliche Inhalte
Debian
gelöst Benutzerrechte bei Programmausführung (3)

Frage von Nintox zum Thema Debian ...

Webbrowser
Mozilla: Firefox 50 startet schnell und bringt Emoji (3)

Link von Frank zum Thema Webbrowser ...

Netzwerkmanagement
Benachrichtigungstool gesucht - unter 50 Euro (4)

Frage von sojos zum Thema Netzwerkmanagement ...

Router & Routing
IPSEC VPN Netgear PS UTM 50 hinter Fritzbox (1)

Frage von wtwinni zum Thema Router & Routing ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...