Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006

    creare codici sequenziali

    salve
    ho un problema.
    ho 2 vettori: categorie(1000) e prodotti(1000,3) (un vettore e una matrice quindi :-)

    nel vett. categorie ho i nomi delle categorie dei prodotti e il vett. prodotti è organizzato in questo modo
    prodotti(i,1) = nome prodotto
    prodotti(i,2) = prezzo prodotto
    prodotti(i,3) = posizione nel vettore categorie della categoria di appartenenza del prodotto.

    il mio problema è questo:
    ad ogni prodotto devo assegnare un codice di questo tipo AA0000 che siano ovviamente codici univocie sopratutto ad ogni categoria deve corrispondere una coppia di lettere. io avevo pensato di ricavarmi le 2 lettere dal nome della categoria e i numeri in maniera sequenziale,ma questo non mi garantisce che le stesse 2 lettere vengano usate per 2 categorie diverse. ad esempio come avevo pensato di fare io(ovvero prendere le prima 2 lettere del nome della categoria) le cat. pastificio e pasticceria mi darebbero le stesse 2 lettere PA.
    come posso risolvere? l'ideale sarebbe avere le lettere in maniea sequenziale (AA AB AC..AZ BA)
    please help me

    p.s.
    scusate se non sono stato chiaro....ma a quest'ora non sono troppo lucido

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    butta giù un ciclo che ti crea il codice sequenziale ad ogni tick. L'importante è ordinare i prodotti per categoria

    fai una rottura di livello ad ogni cambio di categoria facendo scattare l'incremento del ciclo della creazione della parte alfabetica (se vuoi accorciare il codice usando anche qui i numeri ti puoi appoggiare ai valori char dei caratteri incrementando di 1 ad ogni rottura)

    praticamente un algoritmo con 2 rotture di livello:

    una per ogni prodotto
    una per ogni categoria di prodotto

  3. #3
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    beh che le rotture sono 2 è chiaro(anzi.....visto il cliente le rotture sono mooooolte di più :-) ma il mio problema è strettamente legato all'algoritmo.che faccio...2 for?qual'è la strada più breve?

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da s|n3
    beh che le rotture sono 2 è chiaro(anzi.....visto il cliente le rotture sono mooooolte di più :-) ma il mio problema è strettamente legato all'algoritmo.che faccio...2 for?qual'è la strada più breve?
    bho

    prova a buttare giù qualcosa. potresti fare 2 for o 2 funzioni/sub che si chiamano

    non c'è una strada + breve, sempre n elementi devi ciclare. Devi trovare soltanto il codice più "pulito" per fare ciò che ti serve

  5. #5
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Scusa forse non ho capito bene...

    codice:
    Private Function CodiceCategoria(NCat as Integer) as String * 2
    CodiceCategoria = Chr(NCat \ 65) & Chr(Ncat Mod 65)
    End Function
    
    Private Function CodiceProdotto(Indice as Integer) as String
    
    CodiceProdotto = Indice
    If Len(CodiceProdotto) < 4 Then
        CodiceProdotto = String("0",4 - Len(CodiceProdotto))
    End If
    CodiceProdotto = CodiceCategoria(prodotti(Indice,3)) & CodiceProdotto
    End Function
    Perchè nn dovrebbe andare?

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.