Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [Delphi]cancellare un campo di un archivio e variabili globali

    salve a tutti,
    sto realizzando un'applicazione in Delphi e mi servono 2 informazioni:
    1- ho bisogno di 3 variabili globali a tutte le form del progetto, come faccio a renderle tali?
    2- ho creato una procedura deve effettuare la cancellazione di un campo record di un
    archivio. ho effettuato soltanto la compattazione degli elementi spostandoli di 1
    posizione verso il campo da eliminare. così elimino il campo non desiderato ma mi
    rimane l'ultimo campo che è la copia del penultimo. quale è il comando per eliminarlo?

    spero di essere stato chiaro.. aspetto consigli ciao e grazie

  2. #2
    per le variabili globali mi sono documentato, mi sapreste indicare il modo per cancellare un record dall'archivio?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao

    che database usi?

    a che serve "spostare di 1 posizione verso il campo da eliminare"?

  4. #4
    ciao ti spiego subito
    a scuola abbiamo fatto gli archivi e nn siamo ancora arrivati ai database.
    il fatto di spostare di una posizione tutti i record verso il campo da eliminare sovrascivendoli mi serve per effettuare il compattamento dell'insieme dei dati. se cancellassi solamente il record mi rimarrebbe uno spazio vuoto( almeno per array e liste uso questo metodo)
    nn so se per gli archivi sia necessario ma credo di si(nn sono molto pratico perchè li ho appena studiati).
    per favore mi puoi riportare il comando(se esiste )per cancellare un record dall'archivio?
    ti ringrazio ancora per il tuo aiuto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Originariamente inviato da coslayer
    ciao ti spiego subito
    a scuola abbiamo fatto gli archivi e nn siamo ancora arrivati ai database.
    il fatto di spostare di una posizione tutti i record verso il campo da eliminare sovrascivendoli mi serve per effettuare il compattamento dell'insieme dei dati. se cancellassi solamente il record mi rimarrebbe uno spazio vuoto( almeno per array e liste uso questo metodo)
    nn so se per gli archivi sia necessario ma credo di si(nn sono molto pratico perchè li ho appena studiati).
    per favore mi puoi riportare il comando(se esiste )per cancellare un record dall'archivio?
    ti ringrazio ancora per il tuo aiuto.
    per l'eventuale compattamento degli archivi ci potrebbero essere degli appositi comandi; ad esempio anni addietro utilizzavo il linguaggio clipper, e per compattare gli archivi eseguivo il comando 'PACK'.
    non vorrei sbagliare, ma i database SQL (o almeno per Firebird/Interbase) questo comando non esiste, in quanto e' il database che gestisce il tutto. per eliminare un record da una tabella di un database SQL devi eseguire un comando tipo questo:
    'DELETE FROM TABELLA WHERE COLONNA=VALORE'

    http://www.morpheusweb.it/html/manua...sql_delete.asp

    ciao

  6. #6
    ciao grazie dell'aiuto,
    il problema però è che io nn ho un database in sql ma soltanto un archivio, un file.dat dove effettuo il lavoro. nn ho problemi per il compattamento perchè ho già realizzato una procedura, mi serve sapere però come poter eliminare un record dell'archivio.
    effettuando il compattamento con la mia logica mi ritrovo all'ultimo record la copia del penultimo. per questo motivo ho bisogno di cancellarlo.
    credo esista un comando apposito ma nn riesco a trovarlo...
    grazie cmq per il tuo interesse

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ma questo DAT che archivio e'?
    con cosa lo apri?
    e' un file ascii?

  8. #8
    adesso mi chiedi troppo
    so soltanto che è un archivio e che lo stiamo studiando a scuola.
    ha estensione .dat e lo gestisco con comandi tipo rewrite(NomeLogicoFile) per crearlo la prima volta, reset(NLF) per l'apertura e così via....
    lo gestisco attraverso un record buffer dello stesso tipo dell'archivio.
    nn so se ti ho chiarito il dubbio o se ho peggiorato le cose...
    fammi sapere ciao e grazie ancora

  9. #9
    questa è la dichiarazione del mio archivio
    spero con questa possa capire

    type Tr_clienti=record
    nome:string[30];
    cognome:string[50];
    end;

    ...

    var clienti:file of Tr_clienti;

    ciao

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,311
    Se non ricordo male, temo che l'unico modo di rimuovere un record sia quello di memorizzare, a partire dalla posizione del record da cancellare, tutti i record successivi all'interno del file.

    In sostanza, si sovrascrive il record da cancellare con il successivo nel file, si riportano i record restanti e si chiude l'archivio.
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.