Firewall Posted March 21, 2012 at 12:37 AM Report #444850 Posted March 21, 2012 at 12:37 AM Olá pessoal. Como eu nunca mechi com data do sistema,com pascal, não sei a lógica disto. o with não estas a fazer sua lógica? não me encontrei neste contexto! program relogio_sistema; uses crt, dos; var tempo : record relogio : record hora : word; minuto : word; segundo : word; centesimo_segundo : word; end; data : record ano : word; mes : word; dia : word; dia_semana : word; end; end; begin with tempo do begin with relogio do begin gettime(hora, minuto, segundo, centesimo_segundo); // determina a hora do sistema end; with data do begin getdate(ano, mes, dia, dia_semana); // determina a data do sistema end; end; // … end. ele acaba de se auto-chamar, chama eventualmente o relogio,mas e agora algumas duvidas pendendtes. -oque fazer para o usuario final conseguir ver a data e hora? ( minha lógica não bateu aqui 😁 ) -haveria como dar 1 freeze(congelar,parar), o relogio e pegar a hora e data que fora pego exmeplo: teria alguma forma de quando eu acabar de registrar 1 veiculo, o programa paraçe o relogio, pegasse os dados, da data e relogio e salva-se, posteriormente,quando o usuario final, fosse olhar,ele iria ver a data e hora,dia,mes ano... que fora efectuado o reistro. [
bsccara Posted March 21, 2012 at 01:29 AM Report #444854 Posted March 21, 2012 at 01:29 AM -oque fazer para o usuario final conseguir ver a data e hora? ( minha lógica não bateu aqui 😁 ) program relogio_sistema; uses crt, dos, sysutils; type TDataHora : record relogio : record hora : word; minuto : word; segundo : word; centesimo_segundo : word; end; data : record ano : word; mes : word; dia : word; dia_semana : word; end; end; procedure GuardaDataHora(var datahora : TDataHora) begin with datahora.relogio do begin gettime(hora, minuto, segundo, centesimo_segundo); // determina a hora do sistema end; with datahora.data do begin getdate(ano, mes, dia, dia_semana); // determina a data do sistema end; end; var tempo_registo : TDataHora; begin GuardaDataHora(tempo_registo); with tempo_registo.relogio, tempo_registo.data do writeln(Format('%2d/%2d/%4d - %2d:%2d:%2d',[dia,mes,ano,hora,minuto,segundo])); // … end. -haveria como dar 1 freeze(congelar,parar), o relogio e pegar a hora e data que fora pego exmeplo: A variável tempo_registo fica com a data/hora da altura em que foi inicializada pelo procedimento GuardaDataHora. Se chamares esse procedimento com outras variáveis...
nunopicado Posted March 21, 2012 at 08:42 AM Report #444863 Posted March 21, 2012 at 08:42 AM O comando with ... do não tem nada a ver directamente com o relogio. Ele é usado aqui para aceder aos campos dos records sem necessidade de colocar o nome da variável. Por este motivo, esta serie de with's encadeados acaba por não fazer muito sentido (não estando mal, é desnecessário, e confuso até). begin with tempo.relogio, tempo.data do begin // Insere-se aqui, separados por virgula, os dois records gettime(hora, minuto, segundo, centesimo_segundo); // determina a hora do sistema getdate(ano, mes, dia, dia_semana); // determina a data do sistema end; // … end. Ao executar o código acima, ele irá guardar nas variaveis do registo a data e hora do momento em que aquele código foi executado, ou seja, o tal freeze que pedes já está feito por ti. Só terás agora de copiar esses valores para o registo da tua base de dados. Ou seja, a variavel record onde guardas os veiculos terá de incluir uma variável com as mesmas características desta "tempo" que tens aqui. Por sinal, até bastava que ela estivesse lá dentro do registo de veiculos. Não precisas dela para mais nada, aparentemente. Assim, quando gravares a informação do veiculo no ficheiro, a data e hora de inserção também irão ser gravadas, juntamente com os restantes dados do veiculo. Na hora de mostrar os dados, pegas nesses valores e colocas num writeln ou como preferires mostrar ao utilizador. Podes escrever manualmente as variáveis desejadas, tipo: with tempo.data,tempo.hora do writeln(ano,'-',mes,'-',dia,' ',hora,':',minuto,':',segundo,'.',centesimo_segundo); Ou então usar uma função de formatação da data (para aparecer tudo direitinho), como mostrou o bsccara: with tempo.data,tempo.hora do writeln(Format('%2d-%2d-%4d - %2d:%2d:%2d.%2d',[ano,mes,dia,hora,minuto,segundo,centesimo_segundo])); "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Firewall Posted March 21, 2012 at 11:35 AM Author Report #444876 Posted March 21, 2012 at 11:35 AM @nunopicado tú teves um conflito de pensamento agora with tempo.data,tempo.hora do writeln(ano,'-',mes,'-',dia,' ',hora,':',minuto,':',segundo,'.',centesimo_segundo); e no with que me passares begin with tempo.relogio, tempo.data do begin // Insere-se aqui, separados por virgula, os dois records gettime(hora, minuto, segundo, centesimo_segundo); // determina a hora do sistema getdate(ano, mes, dia, dia_semana); // determina a data do sistema end; // … end. na hora de compilar o a IDE FreePascal, acusou varios erros neste encadeamento. após,revisar me apercebi,que, as variaveis não estavam de acordo em seu chamado. como eu iria invocar, relogio e data, sendo que após voçê utilizou data,hora Acho, que estavas,concentrado no script, que o bscara,havia efectuado; 😁 mas já estás resolvido, mudei respectivamente conforma na invocação acima 😁 Agora algumas dúvidinhas. Já que invoquei a variavel tipo word em minha record de registrar veiculos,e o vetor que estou utilizandoi : integer para esta record. Acabei raciocinado,como o programa,irá automaticamente,gravar todas os registros,e todos os dados do tempo.data e tempo.hora. // acho que por lógica não =) , não tem nenhum vetor, array, que irá fazer este trabalho, haveeria como todas trabalharem junta sna mesma record? como eu teria que fazer para gravar, exemplo, apos terminar 1 registro,ele salva a hora e data, no registro 1, depois ele no registro 2 , ele irá slavar do registro 2. e quando eu querer ver estas data e horas,só olhar no banco de dados, do registro numero 1 e ver a hora de data que fora feito! haveria possibilidade? acho que se usar 1 vetor nas records relogio e data , ele faria isto?
nunopicado Posted March 21, 2012 at 01:52 PM Report #444885 Posted March 21, 2012 at 01:52 PM Acho, que estavas,concentrado no script, que o bscara,havia efectuado; 😄 mas já estás resolvido, mudei respectivamente conforma na invocação acima 😉 😄 :D Pois, foi mais ou menos isso! 😛😄 Eu, er... era só pra ver se estavas atento! 😁 :cheesygrin: á que invoquei a variavel tipo word em minha record de registrar veiculos,e o vetor que estou utilizandoi : integer para esta record. A variável i pode ser do tipo Word, visto que não precisas de valores negativos para o nº de registo. Mas não és obrigado a isso! Acabei raciocinado,como o programa,irá automaticamente,gravar todas os registros,e todos os dados do tempo.data e tempo.hora. // acho que por lógica não =) , não tem nenhum vetor, array, que irá fazer este trabalho, haveeria como todas trabalharem junta sna mesma record? Exactamente. A variavel onde guardas os dados da data e relogio deverá estar inserida no record que usas para os restantes dados do veiculo. Assim, para cada um, terás essa informação. Ex.: type TTempo=Record // Define-se um tipo de dados para a data e relogio chamado TTempo. data:record ano,mes,dia,dia_semana:word; end; relogio:record hora,minuto,segundo,centesimo_segundo:word end; end; TVeiculos=record marca, Modelo:String; Tempo:TTempo; // Variável Tempo vai ter todos os campos definidos em TTempo; . . . . end; Assim, cada veiculo poderá conter informações sobre data e relogio. Depois, com uma função, tratamos da atribuição dos valores: function VeDataHora:TTempo; var DataHora:TTempo; // Variável temporaria apenas para receber os valores das funções gettime e getdate begin with DataHora.Data, DataHora.Relogio DO begin gettime(hora, minuto, segundo, centesimo_segundo); // atribui os valores de relogio getdate(ano, mes, dia, dia_semana); // atribui os valores de data end; VeDataHora:=DataHora; // Retorna os valores encontrados end; Com isto, depois quando estiveres a ler os dados, antes de os gravares no ficheiro farias o seguinte: . . . reg.Tempo:=LeDataHora; // Isto irá atribuir todos os dados de data e relogio ao registo de veiculos. write(arquivo,reg); . . . "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Firewall Posted March 21, 2012 at 03:09 PM Author Report #444905 Posted March 21, 2012 at 03:09 PM 😉 😛 era só pra ver se estavas atento! 😁 :cheesygrin: De facto,bem no que pensei ahaha 😁 Com isto, depois quando estiveres a ler os dados, antes de os gravares no ficheiro farias o seguinte: Poxa,fiste voçê entender,que eu utilizava ficheiros, sinceras desculpas, eu me coloquei errado em minhas perguntas, que acabou você pensando estraviadamente. Não,utilizo ficheiros,porquê ainda não o aprendi, infelizmente,bem que queria..., estou tentando aprender mas a complexidade, es muito alta. poderia ser assim a declaração ?: type TTempo=Record // Define-se um tipo de dados para a data e relogio chamado TTempo. data:record ano,mes,dia,dia_semana:word; end; relogio:record hora,minuto,segundo,centesimo_segundo:word end; end; tipo_reg = record modeloCar : string; anoCar : real; estoqueCar : real; precoCar : real; porcentagemCar : real; precoTotal : real; // valor Total do Carro , juntamente com a Porcentagem end; e não entendi, está function, apesar de nao ter me acostumado com ela function VeDataHora:TTempo; var DataHora:TTempo; // Variável temporaria apenas para receber os valores das funções gettime e getdate begin with DataHora.Data, DataHora.Relogio DO begin gettime(hora, minuto, segundo, centesimo_segundo); // atribui os valores de relogio getdate(ano, mes, dia, dia_semana); // atribui os valores de data end; VeDataHora:=DataHora; // Retorna os valores encontrados end; como eu faria para invocar isto? e apesar, não acha que teriamos,que implementar uma array? ou ela vai utilizaro vetor i: integer?//igual ao que eu fiz no registor de carros
nunopicado Posted March 21, 2012 at 07:45 PM Report #444975 Posted March 21, 2012 at 07:45 PM Poxa,fiste voçê entender,que eu utilizava ficheiros, sinceras desculpas, eu me coloquei errado em minhas perguntas, que acabou você pensando estraviadamente. Não? Então confundi... Mas não é assim tão dificil, se quiseres aprender a trabalhar com ficheiros, não é preciso muito. Começa com o tutorial do Thoga31 que está aqui no forum, que rapidamente conseguirás. poderia ser assim a declaração ?: Quase... Tens de adicionar uma variável do tipo TTempo dentro do registo do tipo_Reg, como aqui: type TTempo=Record // Define-se um tipo de dados para a data e relogio chamado TTempo. data:record ano,mes,dia,dia_semana:word; end; relogio:record hora,minuto,segundo,centesimo_segundo:word end; end; tipo_reg = record modeloCar : string; anoCar : real; estoqueCar : real; precoCar : real; porcentagemCar : real; precoTotal : real; // valor Total do Carro , juntamente com a Porcentagem Tempo:TTempo; // Esta tem de ficar aqui, para ligar os dados da data e relogio ao registo de cada carro. end; Agora a função. Quando estás a ler os dados do utilizador, fazes por exemplo: write('Modelo: '); readln(reg.modeloCar); Algo deste género, para cada campo do registo. Como passaste a ter mais um campo Tempo, tens também de lhe adicionar os dados, neste caso, da data e relogio. Podes usar o gettime e o getdate como estavas a fazer, no local onde lês os restantes campos: write('Modelo: '); readln(reg.modeloCar); with reg.Tempo.Data, reg.Tempo.Relogio DO begin gettime(hora, minuto, segundo, centesimo_segundo); // atribui os valores de relogio getdate(ano, mes, dia, dia_semana); // atribui os valores de data end; ou então, para não colocar esta operação no meio da leitura, colocas aquela função no inicio do programa, e depois chamas assim: write('Modelo: '); readln(reg.modeloCar); reg.Tempo:=VeDataHora; // Isto iria preencher automaticamente todos os campos da variável Tempo "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Firewall Posted March 21, 2012 at 10:49 PM Author Report #445024 Posted March 21, 2012 at 10:49 PM báh,agora complicamos olha o meu registro todo. for i:=UltimoRegistroEfectuado to 250 do begin repeat clrscr; corRed; writeln('REALIZANDO REGISTRO DE NUMERO ',i); corPreto; writeln; writeln('Nome do Automovel'); readln(registro[i].modeloCar); repeat if (registro[i].anoCar <= -1 ) then begin writeln; corRed; writeln('PorFavor, Informe Apenas Numeros Positivos'); corPreto; end; writeln('Ano do Automovel'); readln(registro[i].anoCar); until (registro[i].anoCar >= 0 ); // s¢ vai repetir se o anoCar For Menor que 0 ( ex: -1, -250) repeat if (registro[i].estoqueCar <= -1 ) then begin writeln; corRed; writeln('PorFavor, Informe Apenas Numeros Positivos'); corPreto; end; writeln('Informe a Quantidade de Carros Que Possui no Estoque'); readln(registro[i].estoqueCar); until (registro[i].estoqueCar >= 0); // s¢ vai repetir se o estoqueCar for menor que 0; repeat if (registro[i].precoCar <= -1 ) then begin writeln; corRed; writeln('PorFavor, Informe Apenas Numeros Positivos'); corPreto; end; writeln('Informe o Pre‡o unico destes Automoveis'); readln(registro[i].precoCar); until (registro[i].precoCar >= 0 ); // s¢ vai repetir se precoCar for menor que 0 repeat RefazPorcentagem: if (registro[i].porcentagemCar <= -1 ) then begin writeln; corRed; writeln('PorFavor, Informe Apenas Numeros Positivos'); corPreto; end; writeln('Informe a Porcentagem que Deseja Aumentar: '); readln(registro[i].porcentagemCar); until (registro[i].porcentagemCar >= 0); // só vai repetir quando o porcentagemCar for menor que 0 registro[i].precoTotal := (registro[i].precoCar * (100 + registro[i].porcentagemCar) /100); //porcentagem clrscr; //limpa a tela writeln('-------------------------------------------------------------'); write('Pre‡o do automovel: '); corRed; write(registro[i].precoCar:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Porcentagem Informada: '); corRed; write(registro[i].porcentagemCar:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Valor Total do Carro(com Porcentagem): '); corRed; write(registro[i].precoTotal:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); writeln; writeln('Deseja Refazer a porcentagem?'); corRed; writeln('Digite [s] - Para Refazer o a Porcentagem'); writeln('Digite [N] - Para Continuar o Registro do Automovel'); corPreto; readln(refazerPorcentagem); refazerPorcentagem := upcase(refazerPorcentagem); if (refazerPorcentagem = 'S') then begin goto RefazPorcentagem; end; clrscr; //limpa tela writeln('-------------------------------------------------------------'); write('Nome do Automovel: '); corRed; write(registro[i].modeloCar); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Ano do Automovel: '); corRed; write(registro[i].anoCar:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Quantidade no Estoque: '); corRed; write(registro[i].estoqueCar:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Pre‡o do automovel: '); corRed; write(registro[i].precoCar:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Porcentagem Informada: '); corRed; write(registro[i].porcentagemCar:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); write('Valor Total do Carro(com Porcentagem): '); corRed; write(registro[i].precoTotal:1:0); corPreto; writeln; writeln('-------------------------------------------------------------'); writeln; writeln('Deseja Refazer todos estes da dados?'); corRed; writeln('Digite [s] - Para Refazer Todos os Dados'); writeln('Digite [N] - Para Continuar Processo'); corPreto; readln(refazerRegistro); refazerRegistro := upcase(refazerRegistro); until (refazerRegistro = 'N'); clrscr; j := j+1; // contador faz com que acumule a quantidade de registros que foram efetuados com sucesso UltimoRegistroEfectuado := i + 1; // o ciclo ter depois de come‡ar no seguinte (i+1) e nÆo exatamente no ¡ndice onde parou {with tempo.relogio,tempo.data do writeln(Format('%2d-%2d-%4d - %2d:%2d:%2d.%2d',[ano,mes,dia,hora,minuto,segundo,centesimo_segundo])); } writeln('Deseja Adicionar um Novo automovel?'); corRed; writeln('Digite [s] - Para Adicionar um Novo Carro'); writeln('Digite [N] - Para Voltar ao Menu Principal'); corPreto; readln(addCarSN); addCarSN := upcase(addCarSN); if ( addCarSN = 'S') then begin end else begin break; //QUEBRA o ciclo FOR,e volta para o menu principal end; end; end; end; agora. write('Modelo: '); readln(reg.modeloCar); Acho eu, que isto, seria meu writeln('Nome do Automovel'); readln(registro[i].modeloCar); o IDE FreePascal, está acusando,que isto é qualificado como ilegal, ouseja não está de acordo com a IDE; veja: with reg.Tempo.Data, reg.Tempo.Relogio DO begin gettime(hora, minuto, segundo, centesimo_segundo); // atribui os valores de relogio getdate(ano, mes, dia, dia_semana); // atribui os valores de data end; por mais que eu ,tivesse,revisado,não consegui ter encontrado o porque deste error.
nunopicado Posted March 21, 2012 at 11:22 PM Report #445039 Posted March 21, 2012 at 11:22 PM with registo[i].Tempo.Data, registo[i].Tempo.Relogio DO begin gettime(hora, minuto, segundo, centesimo_segundo); // atribui os valores de relogio getdate(ano, mes, dia, dia_semana); // atribui os valores de data end; No teu caso, seria mais assim... Não conheço o programa todo, pelo que os pedaços de código que vou dando são genéricos. Tens depois de os ajustar à realidade do teu programa. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
thoga31 Posted March 21, 2012 at 11:23 PM Report #445040 Posted March 21, 2012 at 11:23 PM Após o @nunopicado ter respondido, e bem, este trecho saltou-me à vista... goto RefazPorcentagem; Tão novo no Pascal e já com este mau hábito? OMG! ? @nunopicado, comentas isto? 😉 Knowledge is free!
Firewall Posted March 21, 2012 at 11:59 PM Author Report #445049 Posted March 21, 2012 at 11:59 PM @nunopicado No teu caso, seria mais assim...Não conheço o programa todo, pelo que os pedaços de código que vou dando são genéricos. Tens depois de os ajustar à realidade do teu programa. poxa,eu estava muito fora de mim quando fiz aquela perguunta idiota, ? Obrigado, por não me matar quando fiz esta pergunta,(ah, agora estou lá em baixo kkkkkk) @thoga31 Opa, a quanto tempo. Se acalme,que eu já conheço este vicio de programação, e estou de acordo,mas quando tu viestes a ver meu script no GERAL, irá perceber, que fora, feito o minimo necessário de LABEL'S; isto foi apenas feito para um eventual consumo de linhas;(mas, que que,não esta nem medio, nem exagerado); irei postar o script, logo após a apresentação do trabalho,nesta sexta-feira a noite já estarei disponibilizando =) ai tú e varios, poderão, dar as broncas necessárias 😉 Tanks,a todos que ajudaram, com isto Tópic Resolved
nunopicado Posted March 22, 2012 at 12:01 AM Report #445050 Posted March 22, 2012 at 12:01 AM @nunopicado, comentas isto? 🙂 errr.... tem mesmo de ser? 😉 É assim, Firewall. O uso do conjunto Label ... Goto é algo que é geralmente tido como desaconselhado, porque é fácil criar erros e programas de dificil leitura. Uma das fontes desses erros é exactamente usar esses comandos em blocos diferentes, que é o que estás a fazer (label dentro do repeat, goto fora). Há inclusivamente compiladores que dão a opção de desactivar o goto, tal é a relação utilidade - fiabilidade da instrução. Note-se que geralmente, esses problemas não são criados directamente pela instrução, mas sim pelo seu mau uso. Mas somos todos humanos (alguns mais que outros 😕😄 ) e é fácil cairmos em erro, especialmente em programas de dificil leitura, que por coincidencia (ou talvez não) é outra das consequencias do goto. Exemplo prático: Imagina que enquanto estás a fazer o programa, te deparas com a necessidade de inicializar umas variáveis antes daquele repeat. Ao fazeres o goto para dentro dele, essas inicializações não serão feitas, e é extremamente complicado descobrir depois o porque dos comportamentos estranhos que apareçam. O ideal será achares uma alternativa para o goto, seja pelo uso de um ciclo que comece e acabe no sitio certo, ou pela implementação de uma função que possas chamar recorrentemente se for necessária. À parte disto, soou-me estranha outra coisa: if (addCarSN = 'S') then begin end else begin break; // QUEBRA o ciclo FOR,e volta para o menu principal end; Não seria mais claro inverter o processo, já que não fazes nada com o S? if (addCarSN <> 'S') then break; // QUEBRA o ciclo FOR,e volta para o menu principal EDIT: Só agora vi a resposta do Firewall: 🙂 Eu não mato ninguém! 🙂 Sou da paz! "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Firewall Posted March 22, 2012 at 12:07 AM Author Report #445052 Posted March 22, 2012 at 12:07 AM @nunopicado leia a resposta que eu acabei d emandar antes dessa. 🙂 if (addCarSN <> 'S') then break; // QUEBRA o ciclo FOR,e volta para o menu principal agora vem a parte, eu sabia que dava pra fazer isso ? ? pois bem,é como o diatado: É viver para Aprender aprendi mais 1 coisinha eheheh; obrigado pela atenção, sem voçês,não teria conseguido 1 relógio =) Aprecio a paciencia que voçês possuem; é admiravel. 😉
nunopicado Posted March 22, 2012 at 12:59 AM Report #445065 Posted March 22, 2012 at 12:59 AM 😉 "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Pedro Monteiro Arantes Posted March 11, 2014 at 09:06 PM Report #548277 Posted March 11, 2014 at 09:06 PM (edited) Program relogio_digital ; uses crt; var i,j,hora,minuto,segundo:integer; Begin writeln(' ---------------------------------- '); writeln('| |'); writeln('| Configurar hora... : : | '); writeln('| | '); writeln('| Relogio Digital | '); writeln(' ---------------------------------- '); gotoxy(26,3); readln(hora); gotoxy(30,3); readln(minuto); gotoxy(33,3); readln(segundo); for j:=1 to 24 do for i:=1 to 60 do begin segundo:=segundo+1; if segundo=60 then begin minuto:=minuto+1; segundo:=0; end; if minuto=60 then begin hora:=hora+1; minuto:=0 end; if hora=24 then hora:=0; clrscr; writeln(hora,':',minuto,':',segundo); delay (1000); end; End. Edited March 11, 2014 at 09:29 PM by thoga31 Tags code + GeSHi
thoga31 Posted March 11, 2014 at 09:30 PM Report #548282 Posted March 11, 2014 at 09:30 PM O tópico já tem mais de dois anos... Knowledge is free!
passarito Posted March 11, 2014 at 11:26 PM Report #548298 Posted March 11, 2014 at 11:26 PM @thoga, dá o desconto, o @pedro... Ainda não tinha o relógio acertado!
nunopicado Posted March 11, 2014 at 11:32 PM Report #548300 Posted March 11, 2014 at 11:32 PM Mas em defesa do Pedro, teve como primeiro post uma proposta de resolução de um problema... 🙂 Bem vindo Pedro. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
thoga31 Posted March 11, 2014 at 11:35 PM Report #548302 Posted March 11, 2014 at 11:35 PM (edited) Mas em defesa do Pedro, teve como primeiro post uma proposta de resolução de um problema... Nada contra, e é óptimo ter este espírito. Há só dois senãos: 1) A exumação de tópicos não é uma actividade muito apoiada; 2) Não se deve dar exercícios resolvidos. Claro que, neste caso, o tópico é mais velho que o buço da Ti'Jaquina, pelo que não há problema, mas convém não ser um hábito. Nós ajudamos a chegar à solução, não damos hóstias. Bem-vindo, Pedro (nem reparei que era a 1ª mensagem, lol... 😄 ) Edited March 11, 2014 at 11:36 PM by thoga31 Knowledge is free!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now