Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [delphi 5 ] stampa e varie

    Salve...

    dunque avrei diverse domande....

    La prima..se devo fare una ricerca sui dati che stanno in una griglia
    composta da 5 colonne...che è un insieme di piu dataset..come posso impostare la cosa?

    Seconda...per stampare una griglia.....senza usare report....è possibile, oppure devo usare per forza i report, altrimenti viene una schifezza?

    terza.....esiste un metodo veloce per stabilire de la cartella Esame che sta in C:\esame\ è vuota o contiene dei file?

    grazie 1000000000000

    scusate se scoccio...tanto.

    Nique

    ps-...se sapete indicarmi anche una desrizione che sta da qualche parte va bene lo stesso....

    grazi Nique

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Ti rispondo con ordine:

    Domanda 1
    Io ti suggerisco di inserire dei controlli visuali aggiuntivi che permettano all'utente di scegliere, da una lista, quali campi utilizzare nel processo di ordinamento e il criterio con cui questo viene fatto (crescente o decrescente). In più, aggiungerei una casella di testo per poter eventualmente inserire al suo interno un contenuto specifico da ricercare all'interno dei tuoi dati.
    Quando l'utente preme il pulsante di avvio della ricerca, costruisci "al volo" uno statement SQL controllando i campi selezionati e i criteri, chiudi la query che usi per accedere ai dati, imposti l'SQL e la riapri, ottenendo nella griglia i dati che corrispondono al filtro di ricerca.

    Domanda 2
    Sconsiglio la stampa della griglia per alcuni (buoni) motivi: si tratta di un controllo visuale, quindi incorpora solo un metodo in grado di generare un'immagine di output stampabile, che però include solo i record visualizzati e non quelli nascosti (quando ne hai molti e devi scorrerli con l'apposita barra, che viene anch'essa stampata). Quindi, non per fattori estetici, che comunque non vengono messi in secondo piano, ma soprattutto per fattori pratici, ti suggerirei di costruire un report ad hoc per la stampa dei dati.
    Se il tuo problema è stampare esattamente i dati che vengono visualizzati nella griglia, dopo aver applicato il filtro di cui hai chiesto alla domanda 1), ti basta basare il tuo report su una query che vai a copiare da quella utilizzata per la visualizzazione a video dei dati.

    Domanda 3
    Cerca informazioni nella Guida in linea di Delphi sulle funzioni FindFirst, FindNext e FindClose; servono per ricercare file all'interno di un percorso utilizzando maschere e attributi...potrebbe fare al caso tuo; ad esempio, se usi la FindFirst per cercare il primo file disponibile in una cartella e la funzione ti restituisce un errore, allora probabilmente significa che non ci sono file e quindi si tratta di una cartella vuota.

    Spero di aver risposto correttamente ai tuoi quesiti.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3

    [delphi 5 ] stampa e varie

    Grazie Alka


    Si si, ho ricevuto le risposte che volevo....e ti ringrazio molto moltissimo....
    Il mio piu grande problema è che non riesco a trovare una persona che possa farmi un full immersion di Delphi......non ti romperei piu le scatole...!
    colgo l'occasione per chiederti un'altra cosa....
    ho creato un array dimensionabile..riporto il codice

    1)FillChar(myarray, SizeOf(myarray), 0); //svuoto L'ARRAY
    2)x:=1+(length(edit1.text)); //stabilisco la lunghezza della stringa
    3)SetLength(myarray,x); //stabilisco la lunghezza dell'arrray
    4)for i:= 0 to x-1 do begin
    5) myarray[i]:=edit1.Text[i]; //riempio l'array
    6) lettera:= Uppercase(myarray[i]);
    7)if (lettera <> #0) then ///ho provato cosi e funziona ma è giusto?
    8) Ciclo();
    9) end;


    *//il problema è che se passo all'elemento 0 dell'array la prima lettera del testo, (riga 5)non gli passo nulla...perchè pare che il primo elemento dell'array contiene la lunghezza dello stesso...quindi per questo motivo ho incrementato l'array di 1.....

    *// se però io riempio l'array cosi, dove i è uguale a 0.
    myarray[i]:='A'
    riesco a passare correttamente al primo elemento dell'array la lettera A.


    Domande:
    1)c'è un modo per evitare questo? cioè dover considerare l'array piu lungo di uno perchè il primo posto viene occupato dalla lunghezza dell'array?
    2) è corretto il passaggio alla riga 6 ? l'ho fatto per evitare di andare avanti tanto non riempie nulla....
    3)ho usato fillchar per svuotare sia l'array fisso che dimensionabile...e ho messo la riga di codice dopo aver stabilito la lunghezza dell'array..è giusto?


    Grazie.....se mi dai il tuo indirizzo ti mando delle rose...

    baci





  4. #4

    varie

    Avrei un altra domanda e basta.....
    ma rispondi quando vuoi...

    Dunque se io nel componente table metto il percorso del database...
    e poi compilo il progetto e faccio il setup....sposto l'installazione del programma in un'altra dir....il programma va in errore gisto?

    arigrazie ciaus :bubu:

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Ciao,
    innanzitutto mi preme dirti che non mi rompi le scatole, anzi...
    Non è che mi telefoni o mi scrivi delle email in continuazione...fai semplicemente una richiesta di aiuto come fanno tanti altri sul forum e come faccio anche io, sperando che qualcuno ti dia una risposta. Scambio di informazioni...un modo gratuito e comodo per espandere le conoscenze.

    A parte questo, devo dire che il tuo codice sugli array mi ha abbastanza annebbiato la vista. Innanzitutto, non capisco di quale tipo sia l'array, inoltre non so cosa stai cercando di fare con quel codice. Se l'array ha dimensione fissa, allora la FillChar può andare bene, ma devi confermarmi il tipo degli elementi del vettore.
    Rispondendo ad un altra domanda, eviterei di scrivere codice che dipenda dall'organizzazione interna delle strutture dati (mi riferisco alla locazione della lunghezza dell'array...).

    Insomma, dimmi a cosa ti serve il codice perchè ho la netta impressione che, qualsiasi cosa tu voglia fare, si possa fare in modo più semplice e meno rischioso.

    Alla tua domanda sul database rispondo "sì". Se l'utente può personalizzare il percorso di installazione del programma e tu lo inserisci in modo fisso all'interno dello stesso, è probabile che non sia possibile connettersi al database se l'utente sceglie un percorso diverso dal predefinito. Dovresti mantenere il database sempre scollegato (prima della compilazione) e assegnare il percorso costruendolo al volo in base alla posizione del file eseguibile.
    Se usi il BDE con Paradox, evita di inserire il percorso e sfrutta gli alias tramite il BDE Administrator.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Aggiungo un suggerimento: per correttezza, crea una nuova discussione per ogni quesito, così che sia facile cercare la soluzione per chi si trova ad affrontare gli stessi problemi.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7

    [delphi]array

    allora l'array è di tipo stringa....ed io non so quanto sia lungo perchè la stringa è il cognome che inserisce l'utente.

    per questo ho creato un array dimensionabile..
    poi ho creato un altro array a lunghezza fissa..perchè conosco la lunghezza.
    Gli array sono entrambi di tipo stringa.....

    1) il metodo fillchar probabilmente va usato solo per gli array a lunghezza fissa. giusto?
    2)Volevo solo sapere perchè.......se scrivo una cosa di questo genere

    myarray[0]:=edit1.Text[];
    //il primo elemento dell'array non si riempie

    se io invece scrivo :
    myarray[0]:='A'
    il primo elemento dell'array si riempie...


    Grazie ancora...


    ps....si hai ragione riguardo alle discussioni, al prossimo argomento farò come dici!

    CIAOS


  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Non vedo perchè tu debba fare uso di un array in questo caso.
    Se devi memorizzare un testo all'interno di una stringa, ti basta dichiarare una variabile di tipo string; l'accesso al singolo carattere usando la notazione tipica del vettore non significa che questo sia a tutti gli effetti un vettore (poichè come tale non è dichiarato).
    codice:
    var
      s: string;
    Se fai accesso ad una stringa carattere per carattere (specificando l'indice), non toccare quello avente indice 0; i caratteri sono numerati da 1 alla lunghezza della stringa. Per le stringhe a lunghezza fissa, l'elemento 0 contiene la lunghezza effettiva della stringa.

    Se vuoi inizializzare una stringa impostandola ad una lunghezza pari a 0 (zero), assegna il valore letterale con due apici singoli:
    codice:
    s := '';
    Ciao!
    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.