AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schreibmaschineneffekt erzeugen

Ein Thema von freshprince · begonnen am 3. Feb 2009 · letzter Beitrag vom 4. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
freshprince

Registriert seit: 3. Feb 2009
5 Beiträge
 
#1

Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 15:48
Ich weiß nicht genau in welche Kategorie meine Frage passt, deswegen stell ich sie mal hier rein.

Also ich habe gestern ein paar Programme erstellt die der Show "Familien Duell" ähneln. (diese Programme brauche ich für unseren letzten Schultag.
Und wer die Show kennt, der weiß, dass die Lösungen an der Ratetafel fortlaufend erscheinen.
und ich frage mich nun wie ich das in Delphi am besten umsetzen kann

Eine weitere Frage die ich noch habe, ist wie ich die 5 Programme die ich jetzt habe verbinden kann, sodass ich nicht jedes Projekt einzeln öffnen muss, sondern dass ich durch nen Button von einem Projekt ins andere gelange und gleichzeitig verschiedene Werte noch übertragen werden ( die Punktzahlen der Teams)

Bin noch nicht so sehr erfahren mit Delphi, bin über jede Hilfe dankbar
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 15:52
Nimm ein Label für die Ausgabe, und füge der Caption des Labels in einer Schleife in jedem Durchlauf ein Zeichen hinzu. Dann bremst Du noch die Schleife entsprechend aus, und fertig.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von daniel-h
daniel-h

Registriert seit: 9. Sep 2008
Ort: b.
170 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 16:00
hay,
wenn ich es richtig verstehe willst du ne art Hauptmenü erzeugen, wo du dann das Programm auswählen musst, oder?

falls ja dann:
kopiere die Anwendungen alle in einen Ordner und benutze diesen code:

ShellExecute(0, Nil, '<dein pfad>', ' /s', NIL, SW_NORMAL); falls nein dann:
kann ich dir leider nicht weiter helfen.

mfG Daniel
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 16:03
Na bestens, jetzt geht es hier wieder drunter und drüber. Nicht umsonst soll für jedes Thema ein Thread erstellt werden. Ich werde den letzten Beitrag deaktivieren und die zweite Frage aus dem ursprüngölichen Posting löschen.

@freshprince: Bitte erstell für jedes Thema einen eigenen Thread. Desweiteren hilft auch die Forensuche.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 16:33
Hallo,

bezüglich dem Schreibmaschineneffekt könnt dir das vielleicht helfen...
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
freshprince

Registriert seit: 3. Feb 2009
5 Beiträge
 
#6

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 17:12
erstmal danke für die schnelle Hilfe, aber so richtig weiter hilft mir das noch nicht...

Das Problem ist folgendes...
Das Programm wird mit einem Beamer an die Wand geworfen wo es von den Zuschauern gesehen werden kann

Die Finalrunde:
Kandidat sagt eine Lösung. -> Die Lösung wird in das Programm eingefügt ( für die Zuschauer nicht sichtbar) ( das Beamerbild kann dabei ja gefreezed werden
es wirkt praktisch in dem Moment programmiert, wenn die Lösung gesagt wird.
Allerdings denke ich dass das nicht so schnell in eine Schleife zu programmieren ist, wenn ein ziemlich langes Wort kommt.

ansonsten habe ich schon für die Runden davor mit einem timer gearbeitet, statt eine schleife, kommt aber aufs gleiche hinaus... bloß das lässt sich auch nicht sehr schnell programmieren...( um es auf den Punkt zu bringen: innerhalb von ca einer minute sollen 5 Lösungen programmiert werden.

Wie kann man es am schnellsten bewerkstelligen, dass man im Programm nur noch die Wörter eingeben muss und diese dann im Schreibmaschineneffekt erscheinen??
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#7

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 17:44
wieso muß das erst pogrammiert werden?

du brauchst nur ein Edit und 'nen Button zum Starten

dann ließt du den Text aus dem Edit und fügst ihn Stück für Stück z.B. in ein Label:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Var S: String;

  Begin
    S := Edit1.Text;
    Label1.Caption := '';
    While S > 'do Begin
      Label1.Caption := Label1.Caption + S[1];
      Delete(S, 1, 1);
      Application.ProcessMessages;
      Sleep(150);
    End;
  End;

[add]
Beispiel für 2 Labels
Delphi-Quellcode:
// [Edit1] + [Button1] > [Label1]
// [Edit2] + [Button2] > [Label2]

Const MaximaleZeichenAnzahl = 20;

Procedure ClearLabel(E: TEdit; L: TLabel);
  Var S: String;
    i: Integer;

  Begin
    E.MaxLength := MaximaleZeichenAnzahl;
    E.Text := '';
    S := StringOfChar('_', MaximaleZeichenAnzahl);
    For i := MaximaleZeichenAnzahl downto 2 do Insert(' ', S, i);
    L.Caption := S;
  End;

Procedure FillLabel(E: TEdit; L: TLabel);
  Var S, S2, S3: String;
    i: Integer;

  Begin
    S := Trim(E.Text);
    If S = 'Then S2 := StringOfChar('_', MaximaleZeichenAnzahl)
    Else S2 := S + StringOfChar(' ', MaximaleZeichenAnzahl - Length(S));
    S3 := L.Caption + StringOfChar(' ', 2 * MaximaleZeichenAnzahl - Length(L.Caption) - 1);
    For i := 1 to MaximaleZeichenAnzahl - 1 do S3[i * 2] := ' ';
    i := 1;
    While i <= MaximaleZeichenAnzahl do Begin
      S3[i * 2 - 1] := S2[i];
      L.Caption := S3;
      If S <> 'Then MessageBeep($40);
      Application.ProcessMessages;
      Sleep(50);
      Inc(i);
    End;
  End;



Procedure TForm1.FormCreate(Sender: TObject);
  Begin
    ClearLabel(Edit1, Label1);
    ClearLabel(Edit2, Label2);
  End;

Procedure TForm1.Button1Click(Sender: TObject);
  Begin
    FillLabel(Edit1, Label1);
  End;

Procedure TForm1.Button1Click(Sender: TObject);
  Begin
    FillLabel(Edit2, Label2);
  End;
jetzt noch'n Sound verbessern und es sieht fast aus wie echt
Text in Edit eintragen und Button klicken
zum löschen einfach Text im Edit löschen und Button drücken
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
freshprince

Registriert seit: 3. Feb 2009
5 Beiträge
 
#8

Re: Schreibmaschineneffekt erzeugen

  Alt 3. Feb 2009, 20:34
danke, so habe ich das gemeint vielen Dank. klappt einwandfrei
  Mit Zitat antworten Zitat
freshprince

Registriert seit: 3. Feb 2009
5 Beiträge
 
#9

Re: Schreibmaschineneffekt erzeugen

  Alt 4. Feb 2009, 00:53
Zitat von daniel-h:
hay,
wenn ich es richtig verstehe willst du ne art Hauptmenü erzeugen, wo du dann das Programm auswählen musst, oder?

falls ja dann:
kopiere die Anwendungen alle in einen Ordner und benutze diesen code:

ShellExecute(0, Nil, '<dein pfad>', ' /s', NIL, SW_NORMAL); falls nein dann:
kann ich dir leider nicht weiter helfen.

mfG Daniel
das gehörte ja zu meiner zweiten Frage...

nur wenn ich nen Button mache mit folgendem Inhalt
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(0, Nil,'.\Runde 1\Project.exe', ' /s', NIL, SW_NORMAL);
end;
kommt die Fehlermeldung:
[Pascal Fehler] Unit1.pas(37): E2003 Undefinierter Bezeichner: 'ShellExecute' muss ich da noch was anderes machen??
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

Re: Schreibmaschineneffekt erzeugen

  Alt 4. Feb 2009, 00:56
Hi,

Musst die Unit "shellapi" in die uses mit aufnehmen.

Ganz oben in der Unit steht ungefähr sowas:

uses Windows, Classes, Forms, ...; da schreibst du noch irgendwo shellapi hin. z.B.:
uses Windows, Classes, Forms, ..., shellapi;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:33 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