Wednesday, November 03, 2010

Kleber,

Let's follow the code:
count = 1
mtrx[0][0] = 1
print Linha:0 Col:0 INT:1
------new loop-----------
count = 2
mtrx[0][1] = 2
print Linha:0 Col:1 INT:2
------new loop-----------
etc.

First from i=0 -> 19
Then from j=0 -> 9
This is equivalent to:
0,0
0,1
0,2
(...)
0,9
1,0
(...)
19,9 <- Latest Matrix Address.

It's just like a spreadsheet:

0 1 2
0 [0,0] [0,1] [0,2]
1 [1,0] [1,1] [1,2]
2 [2,0] [2,1] [2,2]
3 [3,0] [3,1] [3,2]
4 [4,0] [4,1] [4,2]




#include <stdio.h>
int main ()
{
int mtrx [20][10];
int i,j,count;
count=1;
for (i=0;i<20;i++)
for (j=0;j<10;j++)
{
mtrx[i][j]=count;
count++;
printf("\nLinha:%d Col:%d INT:%d",i,j,mtrx[i][j]);
}
getchar(); //No exemplo acima, a matriz mtrx é preenchida, sequencialmente por linhas, com os números de 1 a 200.
}

Monday, June 21, 2010

Recentemente eu resolvi um problema usando CGI.
Faz um certo tempo que ninguém mais utiliza C++ CGI... Foi interessante.

Separei um código simples e de fácil uso com banco de dados Oracle.
O executável irá receber uma variável GET, tal que:

http://server/cgi-bin/oraclecgi.exe?id=2345

Isso irá buscar o resultado no BD e devolvê-lo no browser.


#include <Core/Core.h>
#include <Oracle/Oracle8.h>


using namespace Upp;

CONSOLE_APP_MAIN
{
Oracle8 oracle;
String raw_get = getenv("QUERY_STRING");
String id_code;
id_code = raw_get.Mid(3, 12);
oracle.Open("user/pwd@INFOREAM:1521/sid", false, NULL);
Sql sql(oracle);
sql.Execute("SELECT ADD_TEXT FROM SOMETABLE WHERE ADD_ENTITY = 'TASK' AND ADD_CODE = '" + id_code + "'");
sql.Fetch();
Cout() << "Content-type: text/html\n\n";
Cout() << "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\"/></head>";
Cout() << "<body>";
Cout() <<"<pre style=\"font-family:verdana;size:10\">" + sql[0].ToString() + "</pre>";
Cout() << "</body></html>";
}