27. november 2001 - 03:11Der 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.
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).
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.
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.
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!
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.