Forum > Lazarus e il web

Creazione di output html con lazarus

(1/5) > >>

00261:
Dopo essermi presentato nell’apposita sezione ed appena arrivato, sia sul forum che nel mondo Lazarus, vorrei porre la mia prima domanda: ovviamente ho cercato in giro ma non sono stato in grado di trovare risposta, quindi chiedo qui…

La domanda è questa.

Avendo un file estratto da un DB così costituito,


--- Codice: ---
,,,,
Disney
,Pippo
,,Pluto
,,Paperino
,,,Paperina
,,,,Minnie
,,,Paperone
,,,Paperoga
,,Gambadilegno
,Topolino
,,Basettoni
,,Clarabella
,,Paperinik
,,,Orazio

--- Termina codice ---

vorrei ottenere un output come quello nella Jpg allegata ottenuto da un codice html come questo:


--- Codice: ---

<div class="tf-tree">
  <ul>
    <li>
      <span class="tf-nc">Disney</span>
      <ul>
        <li><span class="tf-nc">Pippo</span>           
          <ul>
            <li><span class="tf-nc">Pluto</span></li>
            <li><span class="tf-nc">Paperino</span>
              <ul>
                <li><span class="tf-nc">Paperina</span>
                  <ul>
                   <li><span class="tf-nc">Minnie</span></li>
                  </ul>
                <li><span class="tf-nc">Paperone</span>
                <li><span class="tf-nc">Paperoga</span>
                </li>
              </ul>
               </li>
            </li>
            <li><span class="tf-nc">Gambadilegno</span></li>
          </ul>
        </li>
        <li><span class="tf-nc">Topolino</span>
          <ul>
            <li><span class="tf-nc">Basettoni</span></li>
            <li><span class="tf-nc">Clarabella</span>
            <li><span class="tf-nc">Paperinik</span>           
             <ul>
              <li><span class="tf-nc">Orazio</span></li>
             </ul>
            </li>
          </ul>       
        </li>
      </ul>
    </li>
  </ul>
</div>

--- Termina codice ---

Ora, farlo a mano è piuttosto semplice per me, ma essendo a zero di Lazarus, vorrei che fosse lui, facendo il parsing del file di esempio (quello estratto dal DB), a crearmi la struttura del <ul> <li>, per automatizzare la creazione di viste (talvolta con centinaia di elementi).

Grazie a chi vorrà aiutarmi

 

xinyiman:
Concettualmente dai tuoi dati sembrerebbe che mancano delle informazioni per fare quello che vuoi tu. Ad esempio ad ogni voce dovrebbe essere corrisposta un id che identifica la voce, e anche un id padre che identifica qual'è l'id del nodo superiore. Altrimenti è impossibile fare quello che chiedi

nomorelogic:
partirei dal DOM, anzi da THTMLDocument (che eredita da TDOMLDocument), se non ricordo male è nella unit dom_html del package fcl-xml.

Chiaramente il parser della tua struttura dati lo dovrai fare tu, ma credo che questo possa essere un buon approccio.

00261:

--- Citazione da: xinyiman - Ottobre 25, 2019, 12:03:30 pm ---Concettualmente dai tuoi dati sembrerebbe che mancano delle informazioni per fare quello che vuoi tu. Ad esempio ad ogni voce dovrebbe essere corrisposta un id che identifica la voce, e anche un id padre che identifica qual'è l'id del nodo superiore. Altrimenti è impossibile fare quello che chiedi

--- Termina citazione ---
Vedo con piacere che la mente del programmatore è diversa da quella del sistemista  ;D
Si, potresti avere ragione, ma dal file del db ho estratto solo il minimo indispensabile, e credimi, quello che chiedi è presente in quel file di esempio:

Disney è il nodo di livello 0 ed è il padre di tutti i nodi di livello 1 (zero virgole = livello zero, una virgola = livello 1)
quindi Pippo e Topolino sono i figli di Disney,

Pippo è il padre di Paperino che lo è di paperina che lo è di minnie.

Vedi, la semplicità della rappresentazione di noi vecchi  ;)

00261:

--- Citazione da: nomorelogic - Ottobre 25, 2019, 12:42:37 pm ---partirei dal DOM, anzi da THTMLDocument (che eredita da TDOMLDocument), se non ricordo male è nella unit dom_html del package fcl-xml.

Chiaramente il parser della tua struttura dati lo dovrai fare tu, ma credo che questo possa essere un buon approccio.

--- Termina citazione ---

Non ho la minima idea di cosa tu mi abbia detto di fare!  ;D ;D ;D

Io pensavo di scrivere in un file ti testo le stringhe html per ricreare la pagina e poi eseguirla con il browser di default. Non voglio certo visualizzarla con Lazarus
L'applicazione dovrebbe solo automatizzare il parsing del file, ma è proprio quello che non so fare...  :o

Navigazione

[0] Indice dei post

[#] Pagina successiva

Vai alla versione completa