Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802

    Array dinamici

    Ciao Alka,
    nel codice che utilizzo per la DLL ho inserito alcuni array dinamici in questo modo:

    Var A : array of char;

    begin
    SetLength(A, 100);
    end;

    Questo va bene se conosco a priori il numero di char da inserire nell'array (nell'esempio l'array avrà una lunghezza di 100 caratteri) quindi posso dargli la dimensione che voglio senza problemi in base al numero di caratteri totali da assegnargli, ma se invece non conosco il numero di dati che formeranno il mio array? Come faccio a creare l'array dinamico senza specificare la dimensione ma facendo in modo che si dimensioni in modo automatico? E' possibile?

    Spero di essermi spiegato.
    Grazie
    www.beppegrillo.it
    Il blog di Beppe!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,461
    Dal momento in cui scrivi

    codice:
    var
      v: array of char;
    hai già creato di fatto un array dinamico.

    Non puoi non conoscere a priori la dimensione del tuo array, o meglio puoi non conoscerla ma ogni volta che devi inserire uno o più elementi sai quanti sono questi ultimi e sai quanti ve ne sono già all'interno dell'array, quindi impostarne la lunghezza non dovrebbe essere un problema.

    Mi capita di rado di fare uso di queste strutture dati in quanto lavoro più frequentemente con oggetti e preferisco adottare liste e altre strutture affini, già presenti in Delphi.

    P.S.: ricordati che gli array dinamici appartengono a quell'insieme di tipi di dati specifici di Delphi, quindi non vanno bene come parametri di input/output o valori di ritorno per funzioni in una DLL che devono essere richiamate da altri linguaggi.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.