AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte PfannkuPlus - Mein erstes Programm
Thema durchsuchen
Ansicht
Themen-Optionen

PfannkuPlus - Mein erstes Programm

Ein Thema von nezumi · begonnen am 25. Apr 2006 · letzter Beitrag vom 28. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
nezumi
Registriert seit: 20. Apr 2006
Beim Pfannkuchen backen hat man ja bekanntlich immer das Problem, dass man einerseits nicht die ganze Zeit in der Küche stehen will, sich aber andererseits auf nix anderes konzentrieren kann, weil sonst die Pfannkuchen anbrennen.

Dieses Dilemma war Ausgangspunkt für die Entwicklung des ersten vollautomatischen Pfannkuchen Bäckers

PfannkuPlus

Das Programm benachrichtigt einen, sobald eine Seite fertig gebacken ist und berücksichtigt dabei sogar, dass - wie jedes Kind weiß - die Vorderseite länger backen muss als die Rückseite. Das ist weltweit einmalig!

Zu Demonstrationszwecken sind die Zeiten extrem kurz eingestellt. Vor der ersten Verwendung empfehle ich, diese zu ändern. Ganz gut fährt man mit den Standardeinstellungen, die ich nach zahlreichen Feldversuchen an der Pfannkuchenfront ermittelt habe. ("Backzeiten" \ "Eigene Zeiten" \ "Standardeinstellung").

Bitte nicht böse sein, wenn das Programm zu poplig ist um hier eingestellt zu werden, es ist mein erstes richtiges "Projekt"
Angehängte Dateien
Dateityp: exe pfannkuplus_880.exe (557,5 KB, 159x aufgerufen)
 
nezumi
 
#11
  Alt 26. Apr 2006, 11:33
Hallo Toredo,

das Wackeln hab ich mit einem Timer und einer Scrollbar gemacht (Timer sehr kurze Intervalle, z.B. 8 ms, Scrollbar Visible auf false setzen):

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Scrollbar2.Position := Scrollbar2.Position +1;
end;

procedure TForm1.ScrollBar2Change(Sender: TObject);
begin

Case Scrollbar2.Position of
1:
begin
Form1.Top := Form1.Top +1;
Form1.Left := Form1.Left -1;
end;
2:
begin
Form1.Top := Form1.Top -1;
Form1.Left := Form1.Left -1;
end;
3:
begin
Form1.Top := Form1.Top -1;
Form1.Left := Form1.Left +2;
end;
4:
begin
Form1.Top := Form1.Top +1;
Form1.Left := Form1.Left +2;
end;
 //usw., ca 30 mal
end;
Für das Klingeln hab ich mir einfach einen Klingelton im .wav Format gesucht und in die .exe eingebunden. Wenn Du nicht weißt wie das geht, ich hab mir hierzu mal eine kleine Anleitung geschrieben, die ich anhänge.

Gruß,
nezumi
Angehängte Dateien
Dateityp: doc sound_in_programm_einbinden_181.doc (23,0 KB, 22x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze

 
Turbo Delphi für Win32
 
#12
  Alt 26. Apr 2006, 12:04
Hallo,

nettes Tool und sehr interessant, auf was für Gedanken manche kommen (das mit der versteckten Scrollbar, schon faszinierend, wenn auch sehr schlecht gelöst).

Du wirst dich mit der Rekursion noch nicht beschäftigt haben (Funktion/Prozedur, die sich selbst aufruft), doch damit kann man das sehr schön lösen. In den Stack (so eine Art Zwischenspeicher), werden die Werte für die Formularposition geschrieben und am Ende wieder rückwärts abgearbeitet, womit das Formular am Ende wieder vollautomatisch in die Ursprungsposition zurück gelangt.

Falls es dich interessiert, das kann man so lösen (ganz ohne Timer):

Delphi-Quellcode:
// Ersatz für sleep(), nur dass die Anwendung nicht einfriert
// Code ist aus der Code-Library
procedure Delay(Milliseconds: Integer);
var
  Tick: DWord;
  Event: THandle;
begin
  Event := CreateEvent(nil, False, False, nil);
  try
    Tick := GetTickCount + DWord(Milliseconds);
    while (Milliseconds > 0) and
          (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
    begin
      Application.ProcessMessages;
      if Application.Terminated then Exit;
      Milliseconds := Tick - GetTickcount;
    end;
  finally
    CloseHandle(Event);
  end;
end;

// eigentliche rekursive Prozedur
procedure MoveForm(FLeft, FTop, Count: Integer);
begin
  if Count > 0 then
  begin
    // "Random(9) - 4" erzeugt einen Zufallswert zwischen -4 und 4
    MoveForm(
      Form1.Left + Random(9) - 4,
      Form1.Top + Random(9) - 4,
      Count - 1);
  end;

  Form1.Left := FLeft;
  Form1.Top := FTop;
  Delay(50);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MoveForm(Left, Top, 20);
end;
Die Prozedur Delay ist, wie im Kommentar erwähnt, dazu da, um die Funktion Delphi-Referenz durchsuchenSleep zu ersetzen, da Sleep die ganze Anwendung einfriert. Delay pausiert den Programmablauf (hier für 50 Millisekunden). Die "Rüttelprozedur" ist die zweite. Du siehst, das ist richtig schön kurz und sauber gelöst. Im OnCreate der Form kannst du auch "Randomize" aufrufen, damit das Rütteln nicht immer das gleiche ist, doch ist dies in dem Falle ja eigentlich egal. Mit dem 3. Parameter (Count) kannst du die Dauer des Rüttelns festlegen.

Falls du verständnisfragen dazu hast, kannst du sie gerne stellen. Mit versteckten Komponenten zu "spielen" ist nicht schön.
  Mit Zitat antworten Zitat
toredo

 
Delphi 7 Enterprise
 
#13
  Alt 27. Apr 2006, 20:12
thx für den wackel/ring-code, ich hab endlich geschafft diese beiden funktionen zu benutzen.
thx



mfG toredo
Benj Meier
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

 
Delphi 2006 Architect
 
#14
  Alt 27. Apr 2006, 21:22
Colle ausgefallene Idee,

ihr glaubt gar net dass in praktisch jedem Haushalt hier in USA der PC in der Kueche steht...
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#15
  Alt 27. Apr 2006, 21:25
Wird ein Pfannkuchen gekocht? (is being cooked)
Wohl eher gebacken. (is being baken)

Könnte mich auch irren...

Und: front side und back side wird auseinander geschrieben.
Manuel Eberl
  Mit Zitat antworten Zitat
nezumi
 
#16
  Alt 28. Apr 2006, 10:31
@ Mackhack

Danke für den Hinweis. Werde mein Vertriebsnetz in den Staaten umgehend ausbauen. Wusste doch, dass ich eine Marktlücke gefunden habe...

@ 3_of_8

Kam mir auch komisch vor. Aber jemand der sich rühmt, der englischen Sprache mächtig zu sein, meinte, bei Pfannkuchen heiße es "cook". Hab ich dann einfach mal geglaubt...
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k
 
#17
  Alt 28. Apr 2006, 10:41
Hey.

Ich mag ja wirklich nicht meckern, aber ein Bild wäre eventuell nicht ganz schlecht. Dann weiß ich auch wirklich ob es für mich in Frage kommt und ob ich es testen will.

Bin irgendwie der Meinung, dass das sehr viel in letzter Zeit vergessen!

mfg shark
  Mit Zitat antworten Zitat
pacman1986

 
Delphi 2005 Personal
 
#18
  Alt 28. Apr 2006, 11:19
Inovatives eigenständiges denken
Ich werd das nächste mal beim pfannkuchen backen dein prog testen
Christian N.
  Mit Zitat antworten Zitat
OregonGhost

 
Delphi 3 Professional
 
#19
  Alt 28. Apr 2006, 11:31
Zitat:
Kam mir auch komisch vor. Aber jemand der sich rühmt, der englischen Sprache mächtig zu sein, meinte, bei Pfannkuchen heiße es "cook". Hab ich dann einfach mal geglaubt...
Im englischsprachigen Wikipedia unter pancake steht auch überall was von cooking. Backen ist doch wohl was im Ofen und nicht in der Pfanne

Ansonsten, tolles Programm, wenn mein WLAN bis in die Küche reichen würde, hätte ich meinen Laptop bestimmt öfter dort stehen, aber du gibst mir ja nen Grund
  Mit Zitat antworten Zitat
Benutzerbild von INA
INA
 
#20
  Alt 28. Apr 2006, 12:46
@3_of_8 and @nezumi

Pancakes werden definitiv nicht "baked" - "to bake" involviert, dass man etwas in einen heissen Ofen befoerdert.

Pancakes werden "cooked" oder allenfalls noch "made".

Statt "frone side" und "back side" ginge auch "top side" und "reverse side". Oder einfach "first and second side".

Aber cooles Programm!!Setzt allerdings eine ziemlich gleichbleibend heisse Pfanne und definierte Teigmenge/Backvorgang voraus....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz