Toon posts:

[delphi] Animatie snelheid & files openen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Twee vragen voor de prijs van een(mag dat wel?)

1) ik heb een animatie van een simple circletje wat over het beeld gaat(2d).
Nou gebeurt dat via een timer maar het gaat erg traag. Ik laat per timmer tik er steeds 1 bij komen (x+1) . Nou kan uit bepaalde overwgingen 1 neit groter gemaakt worden. Dus moet de timer anders.

2) ik laad een txt bestand, maar dat is altijd het zelfde. Nu heb ik nu 'c:\delphi\project3\map.txt' terwijl het programma ook in project3 staat.
dus dacht ik dan neem ik voortaan '\map.txt' maar dat vind delphi een probleem.
Kan dit wel in delphi? en hoe dan

Nou hartelijk dank alvast, het is wat opdringerig maar ik hoop dat ik antwoord kan krijgen(heb me al rot gezocht 5 boeken en de manual)

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:48
code:
1
.\map.txt


Wat je bedoelt met vraag 1, opmerking 1? :? Je kunt je timer-tick veranderen...

Lees ook even de P&W Quickstart, want dit topic is niet echt duidelijk.

https://fgheysels.github.io/


Verwijderd

Topicstarter
zal je precies zien dat ik eht met ..\map.txt geprobeert heb.
Heel hartelijk dank
Over nummer 1, ik wil weten hoe ik de timer op krik. Ik kan wel em op 1000 zetten maar dan gaat ie haperen

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:48
Kijk eens naar de properties van het TTimer object, en bestudeer ze even...

https://fgheysels.github.io/


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

TTimers kunnen niet meer dan (uit m'n hoofd) 18 events per seconde genereren. Supervloeiend zal je animatie dus nooit worden. Als je vloeiende animatie wilt moet je even op zoek naar een betere TTimer.

ExtractFileDir(Application.Exename)+'\Subdir\huppel.txt'

Siditamentis astuentis pactum.


Verwijderd

Topicstarter
dank voor die 18 events tip.
mijn animatie gaat nu mmmmmmm vloeiend.
Geen andere timmer nodig. En wat blijkt hoe kleiner de waarde hoe sneller.
Doh, zat ik daar met mijn 1000 (en ja cazz kan geen engels, interval... like duh)

Verwijderd

Misschien beetje offtopic, maar het is zo onnodig om hier een topic over te openen (zal wel ergens in oud topic staan, maar search werkt nog niet echt):

Hoe open jij die file? Ik wil namelijk een URL 'openen' (zodat default browser dus opent). Hoe moet ik dat doen?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Kijk even in de help bij shellexecute. Maar dat opend alleen het bestand alsof je erzelf op gedubbelklicked hebt in je verkenner.

Je kan niet direct bestanden openen via http of ftp alsof ze lokaal staan. Dan moet je het bestand toch echt eerst downloaden.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

shellexecute kan hij niet vinden :/ ik wist wel dat het zoiets was, maar toen ik die niet kon vinden sloeg ik vast :)

  • Mr.Nobody
  • Registratie: Oktober 2001
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
var
tempstr: array[0..256] of Char;
filenaam:string;

begin
filenaam := extractfilepath(application.ExeName)+'\progsel.exe';
strpcopy(tempstr,filenaam); 
if fileexists(filenaam) then
      ShellExecute(Handle, 'open',      
tempstr, nil, nil, SW_SHOWNORMAL);

end;


zoiets? wel shellapi aan je uses toevoegen

Opensource delphi componenten (http://www.delphi-jedi.org)


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Zoek voor je bewegende plaatje eens naar wat sprite componenten. die werken met een hele andere manier van painten dan dat de gewone componenten doen, waardoor je geen flikkeringen meer krijgt :)

http://www.torry.net is een goeie source voor componenten

Stop uploading passwords to Github!


  • Mr.Nobody
  • Registratie: Oktober 2001
  • Niet online
LordLarry schreef op 07 augustus 2002 @ 19:02:
Kijk even in de help bij shellexecute. Maar dat opend alleen het bestand alsof je erzelf op gedubbelklicked hebt in je verkenner.

Je kan niet direct bestanden openen via http of ftp alsof ze lokaal staan. Dan moet je het bestand toch echt eerst downloaden.
opm.: shellapi toevoegen aan uses
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
urlnaam:string;
begin
        urlnaam := 'http://download.com.com/redir?
pid=8132587&merid=50220&mfgid=50220&ltype=
dl_dlnow&lop=link&edId=3&siteId=4&oId=3002-20-
8132587&ontId=20&dlrs=1&destUrl=ftp%3A%2
F%2Fftpx.download.com%2Fpub%2Fwin95%2
Futilities%2Ffilecomp%2Fwinzip81.exe';

        ShellExecute(Application.Handle, nil,
                       PChar(urlnaam), nil, nil, SW_NORMAL);
end;


dit opent bij mij toch gewoon winzip.exe van download.com hoor :?

[ Voor 0% gewijzigd door Mr.Nobody op 07-08-2002 19:43 . Reden: voorbeeld aangepast ]

Opensource delphi componenten (http://www.delphi-jedi.org)


Verwijderd

thnx :D

Ik was idd vergeten om shellapi aan mijn uses toe te voegen, daarom kon hij hem denkik ook niet vinden ;)

  • Mr.Nobody
  • Registratie: Oktober 2001
  • Niet online
Verwijderd schreef op 07 augustus 2002 @ 20:13:
thnx :D

Ik was idd vergeten om shellapi aan mijn uses toe te voegen, daarom kon hij hem denkik ook niet vinden ;)
moet je hier eens kijken, kun je heel veel mee doen :)

http://msdn.microsoft.com...functions_by_category.asp

Opensource delphi componenten (http://www.delphi-jedi.org)


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Mr.Nobody schreef op 07 augustus 2002 @ 19:39:
dit opent bij mij toch gewoon winzip.exe van download.com hoor :?
Tuurlijk....maar opent
ShellExecute(Handle, 'open', 'http:\\some\where.doc', nil, nil, SW_NORMAL);
ook MS Word die dat bestand dan opend? Misschien doet Word dat toevallig wel, maar dat komt dan omdat Word dan op de achtergrond het bestand eerst download. Daar had ik het over.

We adore chaos because we like to restore order - M.C. Escher


  • Mr.Nobody
  • Registratie: Oktober 2001
  • Niet online
alles wat je van internet linkt download je... natuurlijk.
wat is nou het probleem? je krijgt pas een probleem als je het wilt opslaan, dan zou het kunnen dat je dat alleen lokaal kan doen omdat het programma wat gekoppeld is aan de link niet op kan slaan op internet.

je kunt zo met word doc's openen die op internet staan:

code:
1
2
3
ShellExecute(Handle, 'open',
'winword.exe','http://home.hccnet.nl/j.aeilkema/
zogaathetwel.doc', nil, SW_SHOWNORMAL);

Opensource delphi componenten (http://www.delphi-jedi.org)


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 01-09 21:18

Tomatoman

Fulltime prutser

Verwijderd schreef op 06 augustus 2002 @ 16:57:
2) ik laad een txt bestand, maar dat is altijd het zelfde. Nu heb ik nu 'c:\delphi\project3\map.txt' terwijl het programma ook in project3 staat.
dus dacht ik dan neem ik voortaan '\map.txt' maar dat vind delphi een probleem.
Kan dit wel in delphi? en hoe dan
'\map.txt' verwijst naar het bestand map.txt in de root directory van de huidige schijf.

Met een enkele punt duid je de huidige directory aan (zie ook GetCurrentDir). Je kunt dus '.\map.txt' gebruiken, mits het bestand in de huidige directory staat.

Een goede grap mag vrienden kosten.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 01-09 21:18

Tomatoman

Fulltime prutser

Verwijderd schreef op 06 augustus 2002 @ 16:57:
1) ik heb een animatie van een simple circletje wat over het beeld gaat(2d).
Nou gebeurt dat via een timer maar het gaat erg traag. Ik laat per timmer tik er steeds 1 bij komen (x+1) . Nou kan uit bepaalde overwgingen 1 neit groter gemaakt worden. Dus moet de timer anders.
Als het cirkeltje altijd precies dezelfde beweging maakt, kun je veel beter een animated gif maken. Als je die op je scherm weergeeft (eerst ergens een van de vele gif-image-componenten downloaden), draait je animatie altijd precies op de gewenste snelheid, zelfs op een computer uit het jaar kruik.

Een goede grap mag vrienden kosten.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Mr.Nobody schreef op 07 augustus 2002 @ 22:02:
alles wat je van internet linkt download je... natuurlijk.
wat is nou het probleem? je krijgt pas een probleem als je het wilt opslaan, dan zou het kunnen dat je dat alleen lokaal kan doen omdat het programma wat gekoppeld is aan de link niet op kan slaan op internet.

je kunt zo met word doc's openen die op internet staan:

code:
1
2
3
ShellExecute(Handle, 'open',
'winword.exe','http://home.hccnet.nl/j.aeilkema/
zogaathetwel.doc', nil, SW_SHOWNORMAL);
Ja en nee.
Ja, natuurlijk moet je alles wat je van internet wil gebruiken naar je toehalen (downloaden).
Nee, dat is niet wat ik bedoelde.

Ik had het over het feit dat je binnen je programma zeer specifieke code moet schrijven om het voor de gebruiker net te laten lijken alsof ze een bestand openen en bewaren op een http of ftp locatie. En in die specifieke code zal ShellExecute zeker niet voorkomen. De url die je hier aan winword meegeeft (je had niet eens winword hoeven meegeven) komt in winword gewoon binnen als platte paramater. Word zelf moet het downloaden van het bestand regelen.

Je kan dus niet een TFileStream createn of een AssignFile doen en dan een http locatie opgeven. Dat is waar ik het over had toen ik antwoord gaf op de vraag.

We adore chaos because we like to restore order - M.C. Escher

Pagina: 1