Autor Beitrag
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mi 20.12.06 20:18 
Kurze Vorgeschichte:
Wir haben in Mathe, Klasse 10, gerade Wachstum (Linear, ...) und da darf zwischendrin auch nicht das "Benfordsche Gesetz" fehlen, vor allem dann nicht, wenn Wahrscheinlichkeitsrechnung und Logarithmus auf dem Lehrplan der 10. Klasse steht. Also bekamen wir eine Hausaufgabe: Analysiert irgendeinen Text und schreibt die Anfangsziffern raus. Nun, hab ich natürlich keine Lust drauf, warum auch? Ich bin doch Programmierer - fix ist ein Programm dafür geschrieben, dass die Wikipedia analysiert (natürlich ohne Schnick-Schnack). Und ich Depp, muss dass natürlich meinem Lehrer erzählen. Tja, jetzt fand er das so toll, dass ich das Programm morgen vorstellen "darf". Gut, konnte das Prog ja nicht so lassen, sieht man ja nix. Also hingesetzt, Programm "richtig" geschrieben und nun ist es fertig und kann auch hier in der EE vorgestellt werden.

Benfordsches Gesetz
Wikipedia hat folgendes geschrieben:
[...] Für die Anfangsziffern in Zahlen des Zehnersystems gilt zum Beispiel: Zahlen mit der Anfangsziffer '1' sind etwa 6,5-mal häufiger als solche mit der Anfangsziffer '9'".


Beschreibung:
Das Programm analysiert eine x-beliebige Anzahl von zufälligen Wikipedia-Artikeln. Angezeigt wird:

- Der Fortschritt, Restzeit und aktueller Artikel in der Caption
- Der Artikel im Feld oben
- Die gefundenen Zahlen im Feld unten links
- Die Verteilung der Ziffern 1 - 9 im Feld mitte links
- Als Diagramm im Feld rechts
- Benfordsche Kurve eingezeichnet

Änderungen:
Version 1.1:
- Kein TWebBrowser mehr
- Größe des Fensters fest
- Kein Memo mehr
- Sofortige Analyse
- (teilweise) Legende
- Kleineres Programm

Version 1.2:
- Thread eingebaut
- Bissl verschnellert
- Sicherheit erhöht, bzgl. Thread

Mein Wunsch:
Guckt euch das Programm an, falls das jemand noch bis morgen früh schafft und sucht Fehler oder auch Verbesserungsvorschläge.

Grüße
GTA-Place

Moderiert von user profile iconChristian S.: url-Tag korrigiert
Einloggen, um Attachments anzusehen!
_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)


Zuletzt bearbeitet von GTA-Place am Mi 20.12.06 23:34, insgesamt 5-mal bearbeitet
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 20.12.06 20:49 
Funzt nicht: Immer unbekannte Seite und bei Stop -> ungültige Zeigeroperation

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 20.12.06 20:49 
Das Klicken vom TWebBrowser ist recht nervig ... Ferner solltest Du mal schauen, ob Du das nicht auch direkt über TClientSocket oder TIdHTTPClient hinbekommst.

Nach dem Abbrechen erhalte ich noch einige Scriptfehler vom TWebbrowser ... (Objekt unterstützt diese Eigenschaft nicht). Jeweils von den Wiki-Pages

Du solltest ggf. auch die Benfordsche Kurve mit eintragen ...

Ferner wäre eine "progressive Statusanzeige" wünschenswert ... Also immer während der Anzeige nach und nach deine Messergebnisse schon vorauswerten.

Multi-Threading wäre eine Option ... Das Programm "hängt" ;-) immer ein wenig ^^

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 20.12.06 20:56 
Hallo!

Nettes Programm und eine gute Idee, schnell an Texte zu kommen :zustimm:

Ein paar Sachen sind mir aufgefallen:
  • Das Programm erscheint mir ziemlich langsam. Kann es sein, dass der sogar wartet, bis alle Bilder im Browser geladen sind :gruebel:
  • Die Form sollte nicht resizable sein.
  • Manchmal reagiert der "Stop"-Button nicht. Vielleicht solltest Du über Threads nachdenken.

[*]Das Memo ist ein bisschen unübersichtlich
[*]Im Diagramm fehlen die Achsen-Beschriftungen
[*]In der Tabelle würde ich noch eine Spalte vorne dran machen, wo ich die Zeilen beschrifte.[/list]

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
GTA-Place Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mi 20.12.06 21:19 
user profile iconuall@ogc hat folgendes geschrieben:
Funzt nicht: Immer unbekannte Seite und bei Stop -> ungültige Zeigeroperation

Mh... das ist merkwürdig, schon weil beim Stop-Button nur die Anzahl der bearbeiteten Seiten auf die Anzahl der gewünschten Seiten setzt*. Die aufgerufene Seite ist übrigens http://de.wikipedia.org/wiki/Spezial:Random - Proxy?

*jetzt nicht mehr.

user profile iconChristian S. hat folgendes geschrieben:
Nettes Programm und eine gute Idee, schnell an Texte zu kommen :zustimm:

Danke :).

Behoben / Eingebaut (bzw. teilweise):
user profile iconBenBE hat folgendes geschrieben:
Das Klicken vom TWebBrowser ist recht nervig ... Ferner solltest Du mal schauen, ob Du das nicht auch direkt über TClientSocket oder TIdHTTPClient hinbekommst.

user profile iconBenBE hat folgendes geschrieben:
Nach dem Abbrechen erhalte ich noch einige Scriptfehler vom TWebbrowser ... (Objekt unterstützt diese Eigenschaft nicht). Jeweils von den Wiki-Pages

user profile iconChristian S. hat folgendes geschrieben:
Das Programm erscheint mir ziemlich langsam. Kann es sein, dass der sogar wartet, bis alle Bilder im Browser geladen sind :gruebel:

user profile iconChristian S. hat folgendes geschrieben:
Die Form sollte nicht resizable sein.

user profile iconBenBE hat folgendes geschrieben:
Du solltest ggf. auch die Benfordsche Kurve mit eintragen ...

user profile iconBenBE hat folgendes geschrieben:
Ferner wäre eine "progressive Statusanzeige" wünschenswert ... Also immer während der Anzeige nach und nach deine Messergebnisse schon vorauswerten.

user profile iconChristian S. hat folgendes geschrieben:
Das Memo ist ein bisschen unübersichtlich

user profile iconChristian S. hat folgendes geschrieben:
Im Diagramm fehlen die Achsen-Beschriftungen

user profile iconChristian S. hat folgendes geschrieben:
In der Tabelle würde ich noch eine Spalte vorne dran machen, wo ich die Zeilen beschrifte.

user profile iconBenBE hat folgendes geschrieben:
Multi-Threading wäre eine Option ... Das Programm "hängt" ;-) immer ein wenig ^^

user profile iconChristian S. hat folgendes geschrieben:
Manchmal reagiert der "Stop"-Button nicht. Vielleicht solltest Du über Threads nachdenken.


Version 1.2 geuppt:
Version 1.1
- Kein TWebBrowser mehr
- Größe des Fensters fest
- Kein Memo mehr
- Sofortige Analyse
- (teilweise) Legende
- Kleineres Programm

Version 1.2:
- Thread eingebaut
- Bissl verschnellert

Thx @ll.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.12.06 00:34 
@GTA-Place: sorry, aber ich frag mich was das "Benfordsche Gesetz" eigentlich soll?
dass z.b. hier:
  • Version 1.1:
  • Version 1.2:


die zahl 1 öfters vorkommt als die zahl neun ist doch jeden klar, wer fängt schon mit der versionsnummer 9 an zu zählen?

kennt jemand den sinn dieses quatsches? falls ja, wäre ich froh, wenn er mich aufklären könnt...
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 21.12.06 00:45 
Auch wenn man das als eingefleischter Programmierer kaum glauben mag, so werden Zahlen tatsächlich noch an anderer Stelle verwendet und nicht nur als Versionnummern :zwinker:

Ein Beispiel aus der Nicht-EDV-Welt:
Es gab mal eine sehr interessante "Quarks & Co."-Sendung, bei der gezeigt wurde, wie Wirtschaftsprüfer mittels dieses Gesetzes Manipulationen aufdecken konnten. So neigt der Mensch dazu, bei fingierten Beträgen eine Gleichverteilung der Ziffern zu erstellen, was beim Vergleich mit dem Benford-Gesetz sofort auffällt.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.12.06 00:56 
@Christian S.: ist ungefähr so wie im journalismus, da kommt das wichtigste auch immer zuerst.. und daher ist das wichtigste auch meist in den ersten 10 oder 100 zeilen ;-)

oder bei den lehrbüchern, da kommt auch das wichtiste zu erst... und zum schluss immer der anhang... oder was nicht so dringend erscheint, damit lassen sich auch die fingerabdrücke erklären.

aber ich frag mich dennoch, was soll das ganze? gibts denn da was vernünftiges womit man was anfangen kann? mir scheint das ganze doch 'n ganz grosser humbug zu sein.. und ungefähr auf der selben gesetzmässigkeit zu beruhen wie das berümte 80/20 gesetz ... welches auch nur spasseshalber existiert...
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 21.12.06 01:01 
user profile iconGrenzgaenger hat folgendes geschrieben:
aber ich frag mich dennoch, was soll das ganze? gibts denn da was vernünftiges womit man was anfangen kann?
Hast Du mein Posting nicht gelesen?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
GTA-Place Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 21.12.06 07:53 
user profile iconChristian S. hat folgendes geschrieben:
Ein Beispiel aus der Nicht-EDV-Welt:
Es gab mal eine sehr interessante "Quarks & Co."-Sendung, bei der gezeigt wurde, wie Wirtschaftsprüfer mittels dieses Gesetzes Manipulationen aufdecken konnten. So neigt der Mensch dazu, bei fingierten Beträgen eine Gleichverteilung der Ziffern zu erstellen, was beim Vergleich mit dem Benford-Gesetz sofort auffällt.

Das ist der Beitrag in PDF-Form: www.quarks.de/pdf/Qu..._Zufall_cwdr2002.pdf (Seite 11 ff). Es reicht zum Beispiel 3 von 12.000 Rechnungen zu ändern, um diesen Betrug zu merken.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Do 21.12.06 09:28 
Auf dem Schulrechner passiert schlicht garnix... Drücke Start: nix. Drücke Stop: Noch weniger: Der Startbutton wird nicht mehr enabled ... naja, vermutlich hat der schulrechner ne komische Firewall (und ein Proxy sowieso ... *seufz*)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Danny W.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 21.12.06 10:15 
Hier in der Arbeit sitze ich auch hinter nem Proxy, aber es läuft einwandfrei ^^ Nice Work!

_________________
"Ich find den Fehler nicht. Der Artist wird immer als "Syntax Error" gezeigt :("
"Ach verdammt, der Artist heißt wirklich "Syntax Error" xD"
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1654
Erhaltene Danke: 244

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Do 21.12.06 11:59 
Hallo,

die Ergebnisse der WIKI Seiten weichen aber extrem von Bendford ab.Die 1 war bei mir in der Nähe von 60%.
Vielleicht sind Aktienkurse und Umsätze besser zu gebrauchen.
Bitte die Uhrzeit nicht verarbeiten ;-) die ist meist nach 10:00 also am Anfang 1.
Siehe :
sinvnet.teledata.de/...sym=WDI.ETR&ts=H

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
program InCSV;

uses
  sysutils,classes;

const
  //>Historische< Tagesumätze auf Xetra(.ETR) sekundengenau
  SinvTagesKurse ='http://sinvnet.teledata.de/sis/detail/timesandsales.html?vonUhrzeit=09:00&bisUhrzeit=18:00&INST_ID=1234567&ts=H&tag=';

var
  tdDatum : TDateTime;
  i : integer;

  AktienKuerzel : TStringlist;
  UnixTag,
  HttpAdr,
  HttpAdresse: string;

begin
  AktienKuerzel := TStringlist.create;
  AktienKuerzel.Loadfromfile('AktienKuerzel.txt');
  AktienKuerzel.sort;
  tdDatum := date-1.0;//maximal -21.0;
  while tddatum<=date do
    begin
    if DayOfWeek(tdDatum)in [2..6then //Sonntag ist 1
      begin
      //UnixZeit
      Unixtag := FloattoStr((int(tdDatum)-25569.00)*86400); //25569.00 = 1.1.1970 00:00
      HttpAdr := SinvTagesKurse+Unixtag+'&sym=';
      i := 0;
      while i <1{ AktienKuerzel.Count} do
        begin
        HttpAdresse := HttpAdr+AktienKuerzel[i]+'.ETR';
        //Abrufen,Verarbeiten..
        writeln(HttpAdresse);
        inc(i);
        end;
      end;
    tdDatum := tdDatum+1.0;
    end;
  AktienKuerzel.free;
  readln;
end.


Die KurzelListe ist etwas alt, sodaß manche nicht mehr existieren TUI wurde TUI1 etc.

Gruß Horst
Einloggen, um Attachments anzusehen!
GTA-Place Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 21.12.06 13:59 
user profile iconJayEff hat folgendes geschrieben:
Auf dem Schulrechner passiert schlicht garnix... Drücke Start: nix. Drücke Stop: Noch weniger: Der Startbutton wird nicht mehr enabled ... naja, vermutlich hat der schulrechner ne komische Firewall (und ein Proxy sowieso ... *seufz*)

Proxy oder Firewall, eins der beiden. Wobei Proxy ja bei Mantis geht.
user profile iconMantis1987 hat folgendes geschrieben:
Hier in der Arbeit sitze ich auch hinter nem Proxy, aber es läuft einwandfrei ^^ Nice Work!

Danke :)
user profile iconHorst_H hat folgendes geschrieben:
Hallo,

die Ergebnisse der WIKI Seiten weichen aber extrem von Bendford ab.Die 1 war bei mir in der Nähe von 60%.

Richtig, wobei man sagen muss, dass alle anderen Zahlen Benford entsprechen (vom Kurvenverlauf), lediglich die 1 - und das liegt an den Jahreszahlen (1000 - 1999) - ist doppelt so hoch.
user profile iconHorst_H hat folgendes geschrieben:
Vielleicht sind Aktienkurse und Umsätze besser zu gebrauchen.
Bitte die Uhrzeit nicht verarbeiten ;-) die ist meist nach 10:00 also am Anfang 1.
Siehe :
sinvnet.teledata.de/...sym=WDI.ETR&ts=H

Ich bekomme die Meldung: "Der Referer "http://www.delphi-forum.de/posting.php?mode=topicreview&t=67838&p=407850" ist für Institut "1234567" nicht freigeschaltet."

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1654
Erhaltene Danke: 244

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Do 21.12.06 14:26 
Hallo,

ich habe das übermitteln des Referer's abgeschaltet (F12 bei Opera) und dann keine Probleme.
Oder vorher diese Seite aufrufen:
"http://sinvnet.teledata.de/sis/markt.html?INST_ID=1234567&markt=1" und dann
"http://sinvnet.teledata.de/sis/detail/timesandsales.html?tag=1166572800&vonUhrzeit=09%3A00&bisUhrzeit=20%3A10&INST_ID=1234567&sym=WDI.ETR&ts=H"

Gruss Horst
Einloggen, um Attachments anzusehen!