Nokioteca [Nokia] Forum: Testo A Capo Automaticamente (graph.text) - Nokioteca [Nokia] Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Testo A Capo Automaticamente (graph.text)

#1 L   Antonio G. 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 21
  • Iscritto: 28 ottobre 2006
  • Località:Napoli
  • Cellulare:N80

Inviato 20 novembre 2009 - 01:46

Ciao ragazzi,
dovrei recuperare del testo da una pagina web.
In pratica effettuo una richiesta get, memorizzo il contenuto in una variabile a partire dai due a capo (in modo da eliminare gli headers http).
Ora dovrei stampare a video questo testo insieme ad un'immagine sempre fissa.
Avevo pensato di usare la funzione graph.text ma mi sono accorto che il testo viene tagliato e non va automaticamente a capo.
Come potrei fare?

Inoltre esiste un modo per ricevere la risposta della richiesta GET ma senza header http (in modo da risparmiare KB)?

Grazie
0

#2 L   masmil1988 

  • Millennium Member
  • Gruppo: Developer
  • Messaggi: 1576
  • Iscritto: 03 dicembre 2005
  • Località:Alcamo (TP)
  • Cellulare:Nokia 5800
  • Firmware:51.0.006

Inviato 20 novembre 2009 - 11:32

Tempo fa avevo creato una funzione che, passato il testo e le dimensioni orizzontali dello schermo, restituiva un vettore contenente il testo ritagliato... Ci dovrei lavorare un po' su, perchè non ricordo per chi avevo creato questo...

Riguardo l'altra domanda, purtroppo non è possibile, perchè il protocollo http funziona così e si può fare ben poco...


edit: Prova questo codice
use graph, array

function cutText(testo, dim=graph.full()[0])
	finale=[];
	testo=split(testo," ");
	temp="";
	i=0;
	riga=0;
	while i<len(testo) do
		if graph.size(temp+" "+testo[i])[0]<=dim then
			temp=temp+testo[i]+" ";
			i+=1;
		else
			temp=substr(temp,0,len(temp)-1);
			array.insert(finale,riga,temp);
			temp="";
			riga+=1;
		end;
	end;
	if temp#"" then
		temp=substr(temp,0,len(temp)-1);
		array.insert(finale,riga,temp);
	end;

	return finale;
end

Messaggio modificato da masmil1988 il 20 novembre 2009 - 12:01

0

#3 L   Antonio G. 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 21
  • Iscritto: 28 ottobre 2006
  • Località:Napoli
  • Cellulare:N80

Inviato 24 novembre 2009 - 01:41

Visualizza Messaggimasmil1988, il 20/11/2009 - 11:32, ha scritto:

Prova questo codice
use graph, array

function cutText(testo, dim=graph.full()[0])
	finale=[];
	testo=split(testo," ");
	temp="";
	i=0;
	riga=0;
	while i<len(testo) do
		if graph.size(temp+" "+testo[i])[0]<=dim then
			temp=temp+testo[i]+" ";
			i+=1;
		else
			temp=substr(temp,0,len(temp)-1);
			array.insert(finale,riga,temp);
			temp="";
			riga+=1;
		end;
	end;
	if temp#"" then
		temp=substr(temp,0,len(temp)-1);
		array.insert(finale,riga,temp);
	end;

	return finale;
end

La funzione va bene, anche se la voglio modificare per fare in modo che mi restituisca direttamente il testo su più righe e non l'array contenente le righe.
In pratica ora dovrei fare così:
graph.text(10,180,cutText(getContenuto())[0],0);
graph.text(10,190,cutText(getContenuto())[1],0);
graph.text(10,200,cutText(getContenuto())[n],0);

cosa al quanto scomoda.
Ma possibile che non ci sia già un modo per ottenere una cosa così banale?
Grazie.
0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione