Avatar billede skovsneglen Nybegynder
27. november 2001 - 03:11 Der er 14 kommentarer og
1 løsning

Tekst slettes i læseretningen

okay, her er en dræber... tror jeg

I det program jeg vil udfærdige, skal kunne se en tilfældig tekst på skærmen, hvis bogstaver(tekstens), så slettes, et efter et, i læseretningen og videre ned på næste linje.

ex:This is the anoying Teletubbie Newsletter of no use
                  (ex. efter 1 sek)
=>      s the anoying Teletubbie Newsletter of no use
                  (ex. efter 2 sek)
=>              noying Teletubbie Newsletter of no use

osv. (for en hel artikel... eller flere)

Problemet er, at der også skal tages højde for afsnit og indrykninger i teksten (så man kan ikke bare, lade et uafhængigt lag køre i forgrunden).

Hverken mig eller mine venner har nogen som helst anelse om hvorvidt, man ville lave det(vi er dog heller ikke de vildeste hardcore programmører), så jeg ville være glad for bare en guideline, men ville selvfølgelig juble henryktfuldt over et konkret eksempel.
Avatar billede skovsneglen Nybegynder
27. november 2001 - 03:17 #1
de ovenstående \"anoying newsletter\"-eksempler skulle selvølgelig være højrestillet.
Avatar billede alvion Nybegynder
27. november 2001 - 08:12 #2
Er det et windowsprogram eller et dosprogram ?
Avatar billede jpk Nybegynder
27. november 2001 - 08:57 #3
Hvad bliver teksten vist i?
Er det en monospace font? Hvis ikke, skal sletningen foregå jævnt?

Du bliver vist nødt til at fortælle lidt mere...

Avatar billede skovsneglen Nybegynder
27. november 2001 - 21:28 #4
sorry,
det er et windowsprogram, som bliver vist i en hjemmelavet(dog endnu ikke lavet) font, der desværre ikke er monospace(det er ligesom Times New Roman i bogstavsbredde).

Sletningen skulle helst foregå jævnt, men det er ikke et absolut krav. Jeg regnede med at det ville se acceptabelt ud på trods af det.

Hvis det dog viser sig for problematisk, kan et absolut nødstilfælde dog være monospace. F.eks hvis programmet _kun_ kan laves ved at indsætte mellemrum til at erstatte bogstaverne.

Når så al teksten er forsvundet, skiftes der automatisk til en ny tekst ...men det er en helt anden side af sagen(som jeg nok godt kan finde ud af).
Avatar billede unsigned Nybegynder
28. november 2001 - 01:50 #5
Det kan gøres ved brug af en dummy tekstfil. Fx hvis den oprindelige fil der ud som følger:

Dette er et eksempel
på en tekstfil

0. trin: Display den oprindelige fil.
1.trin: Åben den oprindelige teksfil for læsning
2.trin: Åben en dummy fil for skrivning.
3. trin: Læs første tegn i den oprindelige fil og smid det væk.
4. trin: Læs resten af den oprindelige fil tegn for tegn og overfør tegnene til dummy filen.
5. trin: Luk den oprindelige fil for læsning.
6. trin: Åben den oprindelige fil for skrivning. Overfør dummy filen til den oprindelige fil. Nu er det første tegn i den oprindelige fil smidt væk.
7. trin: Display den oprindelige fil.
8. trin: Gentag fra trin 0 til trin 8.

Når den oprindelige fil er tom, skiftes til en ny oprindelig fil.

C++ programmet vil arbejde så hurtigt, at man ikke kan nå at se hvad der sker, før hele den oprindelige fil er slettet. Der skal derfor sættes en wait() ind på et passende sted.

På den måde vil
Avatar billede alvion Nybegynder
28. november 2001 - 08:03 #6
bjarne_l_s -> Der er ingen grund til at arbejde med filer, det kan alt sammen klares i hukommelsen (enddog meget hurtigere)

skovsneglen -> Nu nævnte du, at teksten i ovenstående eksempel skulle være højrestillet. Gælder det også i programmet? For så er opgaven ikke så svær endda.
Avatar billede jpk Nybegynder
28. november 2001 - 08:53 #7
-> bjarne_l_s: Jeg er absolut enig med alvion i at det ikke kan betale sig at rode med filer på disken! Tilgang til memory er MEGET hurtigere.

Desuden kommer dette til at se tosset ud hvis det ikke er en monotype font!!!
Avatar billede skovsneglen Nybegynder
28. november 2001 - 15:32 #8
alvion -> Nej, teksten i programmet skal være venstrestillet ligesom alm. tekst.
Avatar billede jpk Nybegynder
28. november 2001 - 16:02 #9
Bliver teksten skrevet i en editboks eller direkte på et DC eller hvordan?
Skal det være i ren C++ eller bruger du MFC eller...?

Avatar billede skovsneglen Nybegynder
29. november 2001 - 15:03 #10
Ren C++ i Borland

Teksten kan blive hentet fra f.eks en ekstern txt-fil eller hvad der nu viser sig bedst. Den skrives ikke mens programmet kører.
Avatar billede jpk Nybegynder
29. november 2001 - 15:06 #11
I edit boks eller direkte i et vindue eller...?

Avatar billede skovsneglen Nybegynder
30. november 2001 - 10:05 #12
...hmm, jeg tror næsten det er ligemeget. Hvad der viser sig nemmest.
Avatar billede jpk Nybegynder
30. november 2001 - 11:28 #13
Okay, lad os sige du skriver teksten i et vindue!
Til dette vindue kan du få fat i dets device context (DC).
(Dette bruger du også når du skriver din tekst ud).
Du kan så sætte din device contexts clipping region (et område der angiver hvad der klippes væk) til at blive mindre og mindre.
Med denne metode får du en helt flydende præsentation, samtidig med at det er meget let at styre hastigheden og med hvor store skridt teksten skal fjernes!
Avatar billede skovsneglen Nybegynder
04. december 2001 - 00:03 #14
Danke schön..
Avatar billede jpk Nybegynder
04. december 2001 - 09:17 #15
Bitte sehr!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester