Autor Beitrag
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 02.08.13 12:59 
Hallo,
damit ich meinem Ruf (welcher eigentlich :nixweiss: ) gerecht bleibe, gibt's passend zu den Außentemperaturen das ultimative Tool! :zustimm:

thermo
Das "hochanspruchsvolle" Programm wandelt Temperaturmaßeinheiten um. Enthalten sind Celsius, Fahrenheit, Réaumur, Delisle, Rømer und Kelvin.

Wer braucht denn so etwas nicht? :zwinker:

Beste Grüße
Mathematiker

Rev 1: Auf Anregung von Nersgatt kann man nun eine eigene Maßeinheit festlegen. Erklärung siehe weiter unten.
Rev 2: Fehler bei der Beschriftung Siede- und Schmelztemperatur geändert.
Rev 3: mit Internet-Abfrage der aktuellen Temperatur.
Rev 4: Eingabefehler behoben.
Einloggen, um Attachments anzusehen!
_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein


Zuletzt bearbeitet von Mathematiker am Fr 09.08.13 10:18, insgesamt 4-mal bearbeitet

Für diesen Beitrag haben gedankt: Nersgatt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 02.08.13 13:17 
Zitat:
Wer braucht denn so etwas nicht? :zwinker:


Also wenn es automatisch die aktuelle Temperatur nimmt und du noch ein Edit einbaust brauch ich das.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 02.08.13 13:21 
Ich möchte mir gern meine eigene Einheiten definieren!

Bei 47°Jens Gefriert Wasser und bei 64524°Jens kocht es. Das könntest Du doch bestimmt noch eben einbauen, oder? Bei den Temperaturen kann man ja eh nichts anderes sinnvollen machen, außer am Rechner zu basteln. :wink:

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 02.08.13 14:12 
Hallo,
user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Ich möchte mir gern meine eigene Einheiten definieren!
Bei 47°Jens Gefriert Wasser und bei 64524°Jens kocht es.

Dein Wunsch ist mir natürlich Befehl.
Im 2."Super-Temperaturtool" gibt es jetzt auch die Maßeinheit Jens und genau nach Deinen Vorgaben.

thermo2

Es war natürlich etwas "hinterhältig" :wink: , die Siedetemperatur auf über 32767 zu setzen, da dann die UpDown-Komponenten aussteigen. Deshalb habe ich sie durch Rx-Komponenten ersetzt.
Da ich nicht davon ausgehe, dass jeder diese Komponenten installiert hat, wird es auch nicht sicher zu Übersetzen gehen.

Beste Grüße
Mathematiker
Einloggen, um Attachments anzusehen!
_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 02.08.13 14:16 
Es ging mir viel mehr darum, es so dynamisch zu gestalten, dass sich jeder seine eigenen Einheiten definieren kann. Und damit kann man (oder vielleicht Schüler) gleich lernen, dass man eigentlich nur 2 Fixpunkte und einen coolen Namen braucht um eine eigene Einheit zu definieren. :D

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 02.08.13 15:27 
Hallo,
user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Es ging mir viel mehr darum, es so dynamisch zu gestalten, dass sich jeder seine eigenen Einheiten definieren kann.

Habe ich falsch verstanden.
In der Revision 1 des ersten Programms kann man nun eine eigene Maßeinheit festlegen. Diese wird dann in die aufklappbare Box in der Mitte angefügt.
Festgelegt werden als Fixpunkte Siede- und Schmelzpunkt des Wassers in °C, der Name und die Abkürzung der Einheit.
Die Fixpunkte dürfen betragsmäßig die 32000 nicht überschreiten (Updown-Bereich!).

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 02.08.13 15:37 
Schmelz und Siedetemperatur vertauscht? Oder passt sich mein IQ gerade der Umgebungstemperatur an?
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 02.08.13 15:42 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Schmelz und Siedetemperatur vertauscht? Oder passt sich mein IQ gerade der Umgebungstemperatur an?

Wieso, die Siedetemperatur kann doch unter der Schmelztemperatur sein. Dann läuft die Skala halt nur "andersrum", als wir es gewöhnt sind.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 02.08.13 15:55 
Hallo,
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Schmelz und Siedetemperatur vertauscht?

Sorry, mein Fehler.
Alte Menschen und besonders deren Gehirn leiden unter der Hitze i.A. mehr. :wink:

In der Revision 2 habe ich die Beschriftung korrigiert. Außerdem wird die Skale auch bei umgekehrter Reihenfolge jetzt beschriftet.
Erst war das Programm als kleiner Spaß gedacht, nun wird es ja richtig Stress. Oder sind es die 11°Adams?

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 02.08.13 20:53 
Fehlt eigentlich nur noch eine Temperaturabfrage übers Internet ;)
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 02.08.13 21:19 
Hallo,
user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
Fehlt eigentlich nur noch eine Temperaturabfrage übers Internet ;)

Da stimme ich Dir voll zu, aber ...
Ich habe nicht einmal die Spur von einer Ahnung, ob und wie so etwas geht. Vielleicht kannst Du das ja ergänzen. :D
Mein Dank wäre die ewig sicher.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Fr 02.08.13 22:08 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe nicht einmal die Spur von einer Ahnung, ob und wie so etwas geht.

Versuchs mal damit: www.wetter.com/apps_und_mehr/website/api/

Für diesen Beitrag haben gedankt: Mathematiker
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 02.08.13 22:56 
Hallo,
user profile iconGerd Kayser hat folgendes geschrieben Zum zitierten Posting springen:
Versuchs mal damit: www.wetter.com/apps_und_mehr/website/api/

Danke für den Hinweis.
Ich habe mir das C#-Beispielprogramm angesehen und verstehe NICHTS.
Da werde ich wohl C# erst einmal installieren müssen und dann Schritt für Schritt prüfen, was da passiert.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 02.08.13 23:26 
Im Prinzip kannst du nach einer Registrierung recht einfach mit IndyHttp auf die API zugreifen. Die Antwort kommt dann direkt als XML oder JSON.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Sa 03.08.13 11:41 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe mir das C#-Beispielprogramm angesehen und verstehe NICHTS.

Wie man genau vorgehen muss, ist doch auf der Webseite beschrieben. Dazu braucht man kein C#.

Um das Angebot nutzen zu können, muss man sich dort registrieren. Die Anzahl der Abfragen ist auf 10.000 pro Monat beschränkt. Da sich das Wetter ja nicht sekündlich ändert, reicht eine Abfrage alle 15 Minuten oder mehr aus (= knapp 3.000 Abfragen je Monat).

In der Anwendung müssen Hinweise zu wetter.com enthalten sein (Logo, Link bzw. Text).

Oben Genanntes gilt aber nur für eine nicht-kommerzielle Anwendung.

Hier dazu die einzelnen Schritte:

1. Auf der Webseite registrieren. Das ist meines Wissens kostenfrei, aber man stimmt der Zusendung von Werbung per Email zu.
2. Dort ein Projekt anlegen (ich finde den Ausdruck Profil passender).
3. Über eine Url die Daten abrufen. Diese Url hat folgenden Aufbau:
- Webadresse (wetter.com)
- Suchabfrage
- MD5-Checksumme über die Suchabfrage
Der genaue Aufbau wird aber auf der Webseite erklärt.
4. Daten bekommt man dann standardmäßig als XML oder optional im JSON-Format geliefert.
5. Diese Ergebnisse in der eigenen Anwendung anzeigen.
6. Bildchen (Gewitterwolke usw.) sind auch dabei. Welches Bild darzustellen ist, bekommst Du auch mitgeliefert.

Im Grunde gibt es nur zwei kleine "Problemchen" zu lösen: Wie man eine MD5-Checksumme berechnet. Und wie man XML bzw. JSON ausliest.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: So 04.08.13 23:05 
Ich habe noch etwas recherchiert und bin dabei auf folgende Seite gestoßen: www.programmieren-op...lt-die-alternativen/

Bei der dort kurz vorgestellten Seite www.openweathermap.org/API ist keine Registrierung erforderlich. Und sie ist kostenfrei. Die Anzahl der maximalen Anfragen pro Stunde liegt bei 1000.

Die Abfrage geschieht mittels einer Url, z. B.
ausblenden Quelltext
1:
http://openweathermap.org/data/2.5/weather?q=Frankfurt&mode=xml&units=metric					

Als Ergebnis erhält man die Daten als XML (hier im Beispiel) oder im JSON-Format: openweathermap.org/d...xml&units=metric

Die Seite sieht wirklich vielversprechend aus. Auch auf Kartenmaterial usw. kann man dort zugreifen.

Für diesen Beitrag haben gedankt: Mathematiker, Xion
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 04.08.13 23:49 
Hallo Gerd,
user profile iconGerd Kayser hat folgendes geschrieben Zum zitierten Posting springen:
Die Abfrage geschieht mittels einer Url, z. B.
ausblenden Quelltext
1:
http://openweathermap.org/data/2.5/weather?q=Frankfurt&mode=xml&units=metric					

Als Ergebnis erhält man die Daten als XML (hier im Beispiel) ...

Danke für Deine Bemühungen.
Da ich noch nie irgendetwas Delphi-Artiges mit Internet zu programmieren versucht habe, muss ich mich erst einmal in diese Problematik einarbeiten. In der EE werde ich sicher etwas finden, wie man solche Abfragen durchführt und auswertet.
Ich hoffe, dass mein Delphi 5 keine kleineren oder größeren Probleme bereiten wird.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Mo 05.08.13 07:59 
Hallo,

für JSON gibt es für Delphi ( sourceforge.net/p/lkjson/wiki/Home/ dummerweise steht da nichts zur minimalen Delphi Version ) und Freepasal (fcl-json) passende units.
Mittels ararat/synapse ist eine Internetabfrage ein Leichtes.Das sollte mit Delphi 5 funktionieren.

Gruß Horst.
Einloggen, um Attachments anzusehen!

Für diesen Beitrag haben gedankt: Mathematiker
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 09.08.13 08:44 
Hallo,
dank der Hilfe von user profile iconMartok und user profile iconGerd Kayser (siehe www.entwickler-ecke....XMLDatei_111895.html) habe ich jetzt mein Programm um eine Internetabfrage der aktuellen Temperatur ergänzt (Revision 3).

Die Abfrage erfolgt bei openweathermap.org und gibt die Temperatur eines gewählten Ortes zurück. Im Moment frage ich nicht den Ortsnamen sondern dessen geografische Koordinaten ab. Die müssen also eingegeben werden.
Ausgewertet wird die Temperatur und eingestellt. Probleme habe ich noch mit dem gefundenen Ortsnamen, da dort Umlaute usw. sehr merkwürdig aussehen.
Wichtig ist auch, dass nun die Indy 10 für die Compilierung vorhanden sein müssen. Aber ich dürfte wohl einer der Letzten gewesen sein, die Indy noch nicht hatten.

Mal sehen, was man noch alles Schönes mit diesen openweather-Abfragen machen kann.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 09.08.13 09:56 
Siehst, hast Dich ja doch in die Indywelt getraut. :D
Kann kann leider meine Koordinaten nicht eintippen. Die Werte nehmen die Textfelder nicht an. Versuch mal 52.58 und 6.9 einzugeben.

Die Probleme mit den Umlauten werden mit dem Encoding zusammenhängen, das Openweather zurückgibt. Wenn Du statt des TMemoryStream ein TStringStream verwendest, kannst Du im Constructor ein Encoding mitgeben. Auf jeden Fall bei aktuellen Delphiversionen. Ich würde raten, dass Du UTF8 zurück bekommst.

Edit: Du kannst es auch so lassen, und an der Stelle wo Du es in die TStringList lädst, das Encoding mitgeben. Dafür gibt es eine Überladene Methode der TStringList:
ausblenden Delphi-Quelltext
1:
2:
procedure LoadFromStream(Stream: TStream); overloadvirtual;
procedure LoadFromStream(Stream: TStream; Encoding: TEncoding); overloadvirtual;

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)

Für diesen Beitrag haben gedankt: Mathematiker