Archive for Setembro, 2008

Diferença entre Begins e Matches…
Begins – Começa com a string desejada
Matches – Contem a string desejada
Utilização
WHERE nome MATCHES ‘*clano*’
WHERE nom-munic BEGINS ‘cicla’ 

flw


Para conectar no banco de dados, basta utilizar a classe abaixo:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
    private String url = “jdbc:jtds:sqlserver://servidor/base”;
    private String driver = “net.sourceforge.jtds.jdbc.Driver”;
    private String usuario = “usuario”;
    private String senha = “senha”;
    public String getDriver() {
        return driver;
    }
    public void setDriver(String driver) {
        this.driver = [...]


Para importar um arquivo para uma temp table é bem fácil.
Lembrar de especificar o delimitador (no caso ”;”).
DEFINE TEMP-TABLE tt-tabela
  FIELD cod-empresa   AS INTEGER
  FIELD cod-sucursal AS INTEGER
  FIELD cod-carteira    AS INTEGER.

INPUT FROM arquivo.txt.
REPEAT:
   CREATE tt-tabela
   IMPORT DELIMITER “;”
          tt-tabela.
END.
INPUT CLOSE.
FOR EACH tt-tabela
NO-LOCK:
   /*
    ……
    …….
    ……..
   */   
END.

flw


Para manipular um arquivo podemos utilizar a classe FileWriter.
Classse
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class GravaArquivo {
    public void novoArquivo(String nomeArquivo, String texto) {
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter(“nomeArquivo”));
            out.write(texto);
            out.close();
        } catch (IOException e) {
       [...]


 
Para enviar um message box no Java, basta criar, instanciar a classe abaixo e escolher o método.
import javax.swing.JOptionPane;

public class Mensagem {
    public void EnviaMensagem(String mensagem){
        JOptionPane.showMessageDialog(null, mensagem,”Mensagem”,JOptionPane.INFORMATION_MESSAGE);
   }
    public void EnviaErro(String mensagem){
        JOptionPane.showMessageDialog(null, mensagem,”Erro”,JOptionPane.ERROR_MESSAGE);
    }
}
flw


Codigo para saber qual programa q esta sendo executado:
MESSAGE PROGRAM-NAME(1) VIEW-AS ALERT-BOX.
flw


Segue codigo para exportar dados para um arquivo separado por ponto e virgula “;”. 
DEFINE VARIABLE i AS INTEGER LABEL “Cont”.
DEFINE STREAM arq.
OUTPUT STREAM arq TO teste.txt.
DO i = 1 TO 10000:  
EXPORT STREAM arq DELIMITER “;”
   “valor”
   i.
END.
OUTPUT STREAM arq CLOSE.
vlw


EMPTY Progress

25Set08

Este comando limpa TODOS os registros de uma tabela temporária… bem melhor que fazer um for-each para o delete.
EMPTY TEMP-TABLE tabela_temporaria.
flw


Função para validar se a string possui somente números.
FUNCTION numeros RETURN LOGICAL (INPUT texto AS CHARACTER):
DEFINE VARIABLE loop AS INTEGER NO-UNDO.
DO loop = 1 TO LENGTH(texto):
IF INDEX(“0123456789.,”:U,SUBSTRING(texto,loop,1)) = 0 THEN
RETURN NO.
END.
RETURN YES.
END.
flw


Para atribuir o valor do count(*) em uma variável no Progress 4gl.
DEFINE VARIABLE iCount AS INTEGER.
SELECT COUNT(*) INTO iCount 
FROM nome_da_tabela.
 
DISP iCount.
 vlw