hofmeister Bavard
Messages : 109
| Sujet: [résolu] Limitation des caractères affichés. Ven 11 Oct 2013 - 16:34 | |
| Bonjour tout le monde, j'ai un problème avec de l'affichage de texte à l'écran. Le principe est de lire un fichier texte, l'enregistrer en pages puis de l'afficher en deux colonnes. Dans un des 'livres' créés, la dernière page ne s'affiche pas. Je me demande si c'est à cause d'une erreur ou d'une limitation de l'analyse des fichiers... Je vais citer le code, ça sera peut-être plus clair. script d'analyse et d'enregistrement: - Code:
-
{ last_object=id; if file_exists(string(object_get_name(object_index))+".txt") { current=file_text_open_read(string(object_get_name(object_index))+".txt"); l_cott=0; while!(file_text_eof(current)) { lig[l_cott]=file_text_read_string(current)+"#"; file_text_readln(current); l_cott+=1; } file_text_close(current); } strih=0; l_page_ref=0;l_pages[0]="";lacop="";finreste="";tpcopieu=""; coplapage=""; for(nb=0;nb<l_cott;nb+=1) { lacop+=lig[nb]; finreste=lacop; nb_pts=string_count(".",lacop); if string_height_ext(lacop,20,350) >500 { for(grr=0;grr<nb_pts;grr+=1) { posb=string_pos(".",finreste); morceau=string_copy(finreste,1,posb); stl=string_length(finreste)-posb; tothei=string_height_ext(coplapage+morceau,20,350); finreste=string_copy(finreste,posb+1,stl); if tothei<500 { coplapage+=morceau; if grr==nb_pts-1 { l_pages[l_page_ref]=coplapage; lacop=""; finreste=""; } } else { l_pages[l_page_ref]=coplapage; l_page_ref+=1; lacop=finreste; coplapage=morceau; strih=0; l_pages[l_page_ref]=""; } } } else { finreste=""; l_pages[l_page_ref]=lacop; if nb==l_cott-1 { l_pages[l_page_ref]=lacop; } } if nb==l_cott-1 { l_pages[l_page_ref+1]=""; } } room_goto(r_drawing); } Le script d'affichage: - Code:
-
{ draw_sprite(s_bouquin,-1,100,60); draw_text_ext(120,80,l_pages[rpager],20,350); draw_text_ext(530,80,l_pages[rpager+1],20,350); } Edit: quand je supprime une phrase dans le fichier texte avant ce qui est effacé, la fin s'affiche. Le problème est résolu, c'était une histoire de variable assignée à vide dans un cas particulier. Nb: pour pas faire de post trop inutile, vous pouvez utiliser ce script qui enregistre des colonnes de texte de 350*500 (en draw_text_ext, sep 20) tirées d'un fichier texte, dans un tableau global l_pages de taille l_page_ref. Bon, il faudra quelques retouches, et puis... Merci d'avance.
Dernière édition par hofmeister le Ven 11 Oct 2013 - 17:38, édité 1 fois (Raison : resolu) |
|