|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
Inicio → WINDEV 25 → Exemplo de projeto para gerenciar terrenos áreas agrícolas |
Exemplo de projeto para gerenciar terrenos áreas agrícolas |
Iniciado por Boller, 17,mar. 2025 13:30 - No hay respuesta |
| |
| | | |
|
| |
Miembro registrado 4.520 mensajes |
|
Publicado el 17,marzo 2025 - 13:30 |
// Programa de Gerenciamento de Terrenos em wlanguage // Desenvolvido em WLanguage para Wx
// Declaração de estruturas STTerreno is Structure ID is int Descrição is string Área is real Endereço is string ValorMetroQuadrado is currency DataAquisição is date Proprietário is string Documentos is array of strings Coordenadas is string END
// Variáveis globais gArquivoTerrenos is string = fDataDir() + ["\"] + "terrenos.fic" gColTerrenos is Array of STTerreno
// Inicializa a aplicação PROCEDURE InitApplication() // Cria arquivo de dados caso não exista IF NOT fFileExist(gArquivoTerrenos) THEN CarregarDadosExemplo() SalvarTerrenos() ELSE CarregarTerrenos() END RETURN
// Carrega dados de exemplo PROCEDURE CarregarDadosExemplo() terreno1 is STTerreno terreno1.ID = 1 terreno1.Descrição = "Terreno residencial plano" terreno1.Área = 500.0 terreno1.Endereço = "Rua das Flores, 100, Bairro Jardim" terreno1.ValorMetroQuadrado = 350.00 terreno1.DataAquisição = DateSys() terreno1.Proprietário = "João Silva" ArrayAdd(terreno1.Documentos, "Escritura") ArrayAdd(terreno1.Documentos, "IPTU 2025") terreno1.Coordenadas = "-23.5505,-46.6333" terreno2 is STTerreno terreno2.ID = 2 terreno2.Descrição = "Terreno comercial esquina" terreno2.Área = 1200.0 terreno2.Endereço = "Av. Principal, 500, Centro" terreno2.ValorMetroQuadrado = 750.00 terreno2.DataAquisição = DateSys() - 365 terreno2.Proprietário = "Empresa Construções Ltda" ArrayAdd(terreno2.Documentos, "Contrato de Compra") ArrayAdd(terreno2.Documentos, "Certidão Negativa") terreno2.Coordenadas = "-23.5505,-46.6330" ArrayAdd(gColTerrenos, terreno1) ArrayAdd(gColTerrenos, terreno2) RETURN
// Salva a coleção de terrenos no arquivo PROCEDURE SalvarTerrenos() Serialize(gArquivoTerrenos, gColTerrenos, psdXML) RETURN
// Carrega a coleção de terrenos do arquivo PROCEDURE CarregarTerrenos() Deserialize(gArquivoTerrenos, gColTerrenos, psdXML) RETURN
// Adiciona um novo terreno PROCEDURE AdicionarTerreno(terreno is STTerreno) // Gerar próximo ID terreno.ID = 1 IF gColTerrenos.Count > 0 THEN terreno.ID = gColTerrenos[gColTerrenos.Count].ID + 1 END ArrayAdd(gColTerrenos, terreno) SalvarTerrenos() RETURN terreno.ID
// Atualiza um terreno existente PROCEDURE AtualizarTerreno(terreno is STTerreno) : boolean FOR i = 1 TO gColTerrenos.Count IF gColTerrenos[i].ID = terreno.ID THEN gColTerrenos[i] = terreno SalvarTerrenos() RETURN True END END RETURN False
// Remove um terreno pelo ID PROCEDURE RemoverTerreno(idTerreno is int) : boolean FOR i = 1 TO gColTerrenos.Count IF gColTerrenos[i].ID = idTerreno THEN ArrayDelete(gColTerrenos, i) SalvarTerrenos() RETURN True END END RETURN False
// Calcula o valor total de um terreno PROCEDURE CalcularValorTerreno(idTerreno is int) : currency FOR i = 1 TO gColTerrenos.Count IF gColTerrenos[i].ID = idTerreno THEN RETURN gColTerrenos[i].Área * gColTerrenos[i].ValorMetroQuadrado END END RETURN 0
// Busca terrenos por proprietário PROCEDURE BuscarTerrenosPorProprietario(proprietario is string) : array of STTerreno resultados is array of STTerreno FOR i = 1 TO gColTerrenos.Count IF Position(Upper(gColTerrenos[i].Proprietário), Upper(proprietario)) > 0 THEN ArrayAdd(resultados, gColTerrenos[i]) END END RETURN resultados
// Busca terrenos por área (min e max) PROCEDURE BuscarTerrenosPorArea(areaMin is real, areaMax is real) : array of STTerreno resultados is array of STTerreno FOR i = 1 TO gColTerrenos.Count IF gColTerrenos[i].Área >= areaMin AND gColTerrenos[i].Área <= areaMax THEN ArrayAdd(resultados, gColTerrenos[i]) END END RETURN resultados
// Função para gerar relatório de terrenos PROCEDURE GerarRelatorioTerrenos() : string relatorio is string = "RELATÓRIO DE TERRENOS" + CR + CR valorTotalPatrimonio is currency = 0 FOR i = 1 TO gColTerrenos.Count terreno is STTerreno = gColTerrenos[i] valorTerreno is currency = terreno.Área * terreno.ValorMetroQuadrado valorTotalPatrimonio += valorTerreno relatorio += "ID: " + terreno.ID + CR relatorio += "Descrição: " + terreno.Descrição + CR relatorio += "Área: " + terreno.Área + " m²" + CR relatorio += "Endereço: " + terreno.Endereço + CR relatorio += "Valor do m²: " + CurrencyToString(terreno.ValorMetroQuadrado) + CR relatorio += "Valor Total: " + CurrencyToString(valorTerreno) + CR relatorio += "Data de Aquisição: " + DateToString(terreno.DataAquisição) + CR relatorio += "Proprietário: " + terreno.Proprietário + CR relatorio += "-------------------------------------" + CR END relatorio += CR + "VALOR TOTAL DO PATRIMÔNIO: " + CurrencyToString(valorTotalPatrimonio) + CR RETURN relatorio
// Código da Janela Principal PROCEDURE WinMain() InitApplication() Open(FEN_GerenciamentoTerrenos) RETURN
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|