venerdì 24 settembre 2010

Guida completa su come connettersi mediante il C/C++ a database PostgreSQL (libreria “libpq”). Per Windows/Visual C++

Per potersi connettere mediante linguaggio C/C++ a database realizzati con PostgreSQL bisogna utilizzare la libreria “libpq”, scritta appositamente per questo scopo.
In fase di installazione dei vari pacchetti di PostgreSQL viene chiesto se si vogliono installare anche le varie librerie utili per connettersi ai database con i vari linguaggi, tra queste è presente anche la libreria “libpq”.
Se è già stata installata, nella cartella “C:\Program Files\PostgreSQL\8.4\lib” dovrebbe esserci il seguente file “libpq.lib”. Se non è presente basta riavviare il file di setup e selezionare l’istallazione di tale libreria.
A questo punto supponendo che tutto sia stato installato correttamente, si può procedere a settare il sistema affinché riconosca la libreria; infatti la semplice installazione non basta.
Prima di tutto bisogna aggiungere alla variabili d’ambiente del sistema 2 cartelle, affinché i file di libreria possano essere utilizzati ovunque.


sabato 11 settembre 2010

Funzione C++: Mettere in ordine alfabetico i caratteri in un array

Questa funzione scritta in C/C++ prende in ingresso un array di caratteri e restituisce in uscita nello stesso array (passato per riferimento in quanto array) un stringa in cui i vari caratteri sono in ordine alfabetico.

Esempio:

Ingresso: dbac

Uscita: abcd.

Codice

// Funzione di ordinamento di un array di caratteri
void ordinaArray(char *stringa, int dim)
{//1
    int i,j;
    char temp;

    for(i=0; i<dim; i++)
    {//2
        for(j=0; j<dim; j++)
        {//3
            if(stringa[i]<stringa[j])
            {//4
                temp=stringa[j];
                stringa[j]=stringa[i];
                stringa[i]=temp;
            }//4
        }//3
    }//2
}//1
// Fine funzione


domenica 11 aprile 2010

FUNZIONE IN C++ PER CONFRONTARE DUE FILE DI TESTO

Di seguito riporto il codice di una funzione scritta in C++ per confrontare due file di testo.
Spesso capita dover effettuare confronti tra file in progetti scritti in C++ ed in ogni caso tale funzione è molto utile per prendere confidenza con le operazioni di input/output su file usate dal linguaggio.
Per ogni dubbio riguardo al codice seguente, ma anche in generale sul C++ contattatemi!!!


File d’intestazione “confrontaFile.h”


#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
#define DIM_RIGA 2048
#define MAX_RIGHE 8192
void confrontaFile(char *nome_file1, char *nome_file2);


mercoledì 21 ottobre 2009

MODIFICA E CREAZIONE DI LIBRERIE PER NSCRIPT (4/-) – LEZIONE 12

Parametri e valori di default di una classe

Come è stato già detto ogni classe può rappresentare un oggetto della rete (nodo, agent, etc.) o una funzione. In entrambi i casi, comunque, devono esserci parametri, relativi all’elemento, che ci consentono di descriverlo. Se ad esempio consideriamo un link, i suoi parametri possono essere il ritardo sullo stesso, la sua banda, etc.
I parametri e i relativi valori di default della classe si trovano tra la dichiarazione e la parola di codice begin, come mostrato nell’esempio in basso.

entity class UDP agent 1:
Packet Size=1000;
FlowID=None;
begin
set #name# [new Agent/UDP];
?Packet Size=1000::$#name# set packetSize_ #Packet Size#;
?FlowID=None::$#name# set fid_ #FlowID#;
end


mercoledì 14 ottobre 2009

COME ESEGUIRE UN PROGRAMMA DI WINDOWS IN VISUAL BASIC 2005/2008

Se state cercando il modo, o meglio il codice Visual Basic per avviare un programma di Windows dal vostro form, questo è il post giusto.
Supponiamo che avete già creato il progetto con un form e che all’interno di quest’ultimo avete aggiunto un pulsante. Magari volete che questo pulsante avvii un’applicazione esterna di Windows.
Per fare ciò fate doppio click sul pulsante, in modo tale da creare la routine relativa all’evento click del pulsante stesso. A questo punto all’interno della stessa dovete solo aggiungere le seguenti righe di codice:
Dim avvio As Process = System.Diagnostics.Process.Start(nome_del_programma)
avvio” è un nome facoltativo utilizzato all’interno del codice.
nome_del_programma” è il nome dell’eseguibile di tipo String. Se il programma da avviare si trova nella stessa cartella del vostro eseguibile, basta indicare solo il nome, altrimenti dovete indicare tutto il percorso dalla radice. Ad esempio:
C:\Programmi\Microsoft Office\Office12\EXCEL.EXE



MODIFICA E CREAZIONE DI LIBRERIE PER NSCRIPT (3/-) – LEZIONE 11

Dichiarazione di una classe

Le informazioni contenute nella dichiarazione sono: il tipo di classe (entity o relation), il suo nome, la classe base di appartenenza e le icone da utilizzare nell’ambiente grafico.
La sintassi della dichiarazione dei due tipi di classi esistenti è la seguente:

[!]entity class <nome_classe> <nome_classe_base> <icona>:

[!]relation class <nome_classe> [!]<da_nome_classe_base> [!]<a_nome_classe_base> <figura_base> <stile_linea> <spessore_linea> <figura_alla_fine>:

Per capire meglio i vari campi si mostreranno prima due esempi e poi si darà una spiegazione su ognuno di essi.
Esempio di una entity class:
entity class UDP agent 1:
Packet Size=1000;
FlowID=None;
begin
set #name# [new Agent/UDP];
?Packet Size=1000::$#name# set packetSize_ #Packet Size#;
?FlowID=None::$#name# set fid_ #FlowID#;
end



giovedì 11 giugno 2009

MODIFICA E CREAZIONE DI LIBRERIE PER NSCRIPT (2/-) – LEZIONE 10

Prima di procedere con la guida alla modifica e creazione delle librerie di Nscript, bisogna ricordare che:
  1. i nomi delle librerie e delle classi devono essere unici, altrimenti nscript o ignorerà la classe, o la libreria, o non si avvierà;
  2. quando viene cambiato il nome di una classe o si apportano delle modifiche rilevanti (non semplici modifiche dei valori di default) a quest’ultima, i file precedentemente creati non potranno essere più aperti. L’unica soluzione è quella di creare una nuova libreria e fare tutte le aggiunte e modifiche in essa.


martedì 9 giugno 2009

MODIFICA E CREAZIONE DI LIBRERIE PER NSCRIPT (1/-) – LEZIONE 9

Il tool è progettato in modo da consentire una facile modifica delle librerie già presenti, ma anche di aggiungerne delle altre nuove. Naturalmente, se per usare semplicemente nscript non bisognava conoscere il linguaggio OTcl e le varie classi di ns, per la sua implementazione queste conoscenze sono indispensabili.


Operazioni eseguite prima dell’avvio

Prima del suo avvio, nscript procede come segue:
  1. Apre il file environment situato nella cartella nscript/bin/settings. Questo file è importantissimo e può essere modificato ma per nessun motivo cancellato;
  2. Apre il file deflibs, anch’esso presente nella cartella nscript/bin/settings. Questo file contiene la lista di tutte le librerie che sono aperte di default e che si trovano nella directory nscript/bin/lib. Quindi se si vuole aprire in automatico una nuova libreria bisogna inserirla nella cartella nscript/bin/lib e poi digitare il suo percorso nel file deflibs (ad esempio lib/optical.lib). Questo produrrà la comparsa in automatico dell’icona della libreria nella Tool Box;
  3. Apre ogni libreria specificata nel file deflibs.



venerdì 5 giugno 2009

PRIMO ESEMPIO DI SIMULAZIONE CON NSCRIPT (2/2) – LEZIONE 8

A questo punto bisogna inserire due oggetti Timer situati nella libreria Utilities e cambiare i loro nomi inserendo nel primo l’istante in cui l’applicazione deve iniziare a generare i pacchetti e nel secondo l’istante in cui l’applicazione deve fermarsi. Questi dovranno poi essere collegati all’applicazione mediante ApplicationEvent. Selezionando il collegamento generato si noterà che di default nel campo Event c’è ‘start’. Basterà inserire ‘stop’ nel collegamento tra l’applicazione e il Timer che la ferma.
clip_image001


domenica 31 maggio 2009

PRIMO ESEMPIO DI SIMULAZIONE CON NSCRIPT (1/2) – LEZIONE 7

Al fine di comprendere meglio il funzionamento di Nscript, realizzeremo la simulazione di una semplice rete formata da tre nodi, due agent Tcp (uno ricevitore, l’altro trasmettitore) e un’applicazione a rate costate.
Nscript, come già accennato, permette di seguire un approccio a strati che è sempre buona regola seguire nel giusto ordine. Quindi realizzeremo prima la topologia della rete (nodi e link), poi lo strato Transport (agent Tcp) e poi quello Application (applicazione a rate costante).


Ogni volta che si immette un oggetto nell’ambiente grafico, Nscript gli associa lo stesso nome che ha nel menu con in più un numero e nel caso venga usato più volte, vengono usati numeri successivi. Naturalmente i nomi degli oggetti possono essere modificati tramite il relativo menu.
Per cambiare proprietà a un qualsiasi elemento, basta selezionarlo (cliccare prima sull’icona Select an object) e cambiare i valori delle caratteristiche che compaiono nell’Object Browser; alla fine delle modifiche cliccare sul pulsante Apply.