Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hoffe, ihr könnt mir helfen... :confused: In der Berufsschule sollten wir eine Analoguhr in einer Windows-Anwendung programmieren. Eine Digitaluhr im Textfeld habe ich schon programmiert. Dann habe ich die Analoguhr "gezeichnet". Nun möchte ich, dass sich die Zeiger von links nach rechts bewegen. Nur ich weiß nicht, wie das geht... :( Der Lehrer ist echt unmöglich, der will uns nie zeigen, wie das geht... :upps

Hier folgender Code:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Analoguhr

{

public partial class Form1 : Form

{

DateTime zeit;

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

zeit = DateTime.Now;

}

private void timer1_Tick(object sender, EventArgs e)

{

zeit = DateTime.Now;

textBox1.Text = zeit.Hour.ToString() +

":" + zeit.Minute.ToString() +

":" + zeit.Second.ToString();

// Kreis zeichnen

Graphics g = CreateGraphics();

g.DrawEllipse(Pens.Black, 100, 75, 200, 200);

// Mittelpunkt zeichnen

Bitmap bm = new Bitmap(500, 500);

bm.SetPixel(200, 175, Color.Black);

g.DrawImage(bm, 0, 0);

// großer Zeiger

Point P1 = new Point(200, 75);

Point Mittelpunkt = new Point(200, 175);

g.DrawLine(Pens.Black, Mittelpunkt, P1);

// kleiner Zeiger

Point P2 = new Point(280, 175);

g.DrawLine(Pens.Black, Mittelpunkt, P2);

// Sekundenzeiger

Point P3 = new Point(150, 260);

g.DrawLine(Pens.Red, Mittelpunkt, P3);

}

}

}

Für eure Hilfe bin ich sehr dankbar!

x = sinus(winkel)

y = cosinus(winkel)

0 entspricht der 12

Dann einfach 360/60 * [sekunden|Minuten] * (PI/180) und du hast den Winkel.

Vom Mittelpunkt nach X;Y eine Linie zeichnen und freuen weil geht.

Danke!!! ;) Werd ich mal ausprobieren!!

Danke, werd ich mal am Wochenende ausprobieren! ;)

Nur noch einmal als Hinweis, die Funktionen sin und cos in Java erwarten den Winkel im Bogen- und nichit im Gradmaß

Phil

Deswegen * (Pi/180) um den Radiant auszurechnen.

Und wie findet man den Radius des gezeichneten Kreises raus? Ich meine, es gibt ja keinen Lineal, sondern nur x und y Werte und so.

ok danke ;)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.