dilluns, 30 de novembre de 2009

Compte enrere



Si volem despertar a Barney, pot ser podem començar un compte enrere. Farem servir un for i un step -1, es a dir, en lloc d'avançar anirem pas a pas cap enrere.

dissabte, 28 de novembre de 2009

Milutest V51 Disponible



Se puede mejorar, evidentementes, pero quien lo desee, que me deje un comentario y su mail y le enviaré un zip que contendrá:


  • el ejecutable con extensión eje. Solamente es necesario canviar eje por exe para que funcione. Gmail no permite enviar ficheros ejecutables, con lo que hay que engañarlo un poco.

  • 25 ejercicios en formato txt

  • Una carpeta con iconos de Tintín

Funcionamiento:


Descomprime el zip y cambia la extensión del fichero eje por exe. Crea un acceso directo y ponle un icono de la carpeta de iconos.
Ejecuta el fichero exe. Verás que el botón de la parte superior derecha, a diferencia de la imagen de esta entrada está activado. Púlsalo y se creará la carpeta c:\temp\examen
Pulsa el ejercicio que quieras


Para salir del programa:


Pulsa la cruz de la parte superior derecha o el botón Adéu-Guau

Si te equivocas, aparecerá un Milú-demonio que siempre podrás corregir.

Si aciertas, apareceráun Milú-angelito que te dará un punto.

Al final, pulsa el botón Nota para saber tu puntuación.



Editar (cambiar) los ficheros txt de preguntas y respuestas

Han de tener once líneas: la primera de título, las siguientes de preguntas y respuestas separadas por una coma. Ejemplo:

Para cualquier duda, ... un comentario.


CODI



1. FORM1.FRM
2. FORM2.FRM
3. MODULE1.BAS



1. FORM1.FRM
###############

Option Explicit
Private Sub cmd00_Click()
'Ruta = InputBox("Indica el fitxer dins c:\temp\Examen. Per exemple:" & _
' vbCrLf & "Angles01.txt", "El profesor Milú")
'PintaRuta
End Sub
Private Sub cmd11_Click()
Ruta = "C:\Temp\Examen\Angles01.txt"
PintaRuta
End Sub
Private Sub cmd21_Click()
Ruta = "C:\Temp\Examen\Mates01.txt"
PintaRuta
End Sub
Private Sub cmd31_Click()
Ruta = "C:\Temp\Examen\Castellano01.txt"
PintaRuta
End Sub
Private Sub cmd41_Click()
Ruta = "C:\Temp\Examen\Catala01.txt"
PintaRuta
End Sub
Private Sub cmd12_Click()
Ruta = "C:\Temp\Examen\Angles02.txt"
PintaRuta
End Sub
Private Sub cmd22_Click()
Ruta = "C:\Temp\Examen\Mates02.txt"
PintaRuta
End Sub
Private Sub cmd32_Click()
Ruta = "C:\Temp\Examen\Castellano02.txt"
PintaRuta
End Sub
Private Sub cmd42_Click()
Ruta = "C:\Temp\Examen\Catala02.txt"
PintaRuta
End Sub
Private Sub cmd13_Click()
Ruta = "C:\Temp\Examen\Angles03.txt"
PintaRuta
End Sub
Private Sub cmd23_Click()
Ruta = "C:\Temp\Examen\Mates03.txt"
PintaRuta
End Sub
Private Sub cmd33_Click()
Ruta = "C:\Temp\Examen\Castellano03.txt"
PintaRuta
End Sub
Private Sub cmd43_Click()
Ruta = "C:\Temp\Examen\Catala03.txt"
PintaRuta
End Sub
Private Sub cmd14_Click()
Ruta = "C:\Temp\Examen\Angles04.txt"
PintaRuta
End Sub
Private Sub cmd24_Click()
Ruta = "C:\Temp\Examen\Mates04.txt"
PintaRuta
End Sub
Private Sub cmd34_Click()
Ruta = "C:\Temp\Examen\Castellano04.txt"
PintaRuta
End Sub
Private Sub cmd44_Click()
Ruta = "C:\Temp\Examen\Catala04.txt"
PintaRuta
End Sub
Private Sub cmd15_Click()
Ruta = "C:\Temp\Examen\Angles05.txt"
PintaRuta
End Sub
Private Sub cmd25_Click()
Ruta = "C:\Temp\Examen\Mates05.txt"
PintaRuta
End Sub
Private Sub cmd35_Click()
Ruta = "C:\Temp\Examen\Castellano05.txt"
PintaRuta
End Sub
Private Sub cmd45_Click()
Ruta = "C:\Temp\Examen\Catala05.txt"
PintaRuta
End Sub

Private Sub PintaRuta()
Load frm2
frm2.Show

Open Ruta For Input As #1
Input #1, Dato00
frm2.txtCabecera = Dato00
Materia = Left(Dato00, 4)

If Materia = "ANGL" Or Materia = "INGL" Then
frm2.imgANGL.Visible = True
ElseIf Materia = "MATE" Then
frm2.imgMATE.Visible = True
frm2.txtQry01.Font.Size = 18
frm2.txtQry02.Font.Size = 18
frm2.txtQry03.Font.Size = 18
frm2.txtQry04.Font.Size = 18
frm2.txtQry05.Font.Size = 18
frm2.txtQry06.Font.Size = 18
frm2.txtQry07.Font.Size = 18
frm2.txtQry08.Font.Size = 18
frm2.txtQry09.Font.Size = 18
frm2.txtQry10.Font.Size = 18
ElseIf Materia = "CAST" Then
frm2.imgCAST.Visible = True
ElseIf Materia = "CATA" Then
frm2.imgCATA.Visible = True

Else
frm2.imgALTR.Visible = True
End If

Input #1, Dato01, Solucion01
frm2.txtQry01 = Dato01
Input #1, Dato01, Solucion02
frm2.txtQry02 = Dato01
Input #1, Dato01, Solucion03
frm2.txtQry03 = Dato01
Input #1, Dato01, Solucion04
frm2.txtQry04 = Dato01
Input #1, Dato01, Solucion05
frm2.txtQry05 = Dato01
Input #1, Dato01, Solucion06
frm2.txtQry06 = Dato01
Input #1, Dato01, Solucion07
frm2.txtQry07 = Dato01
Input #1, Dato01, Solucion08
frm2.txtQry08 = Dato01
Input #1, Dato01, Solucion09
frm2.txtQry09 = Dato01
Input #1, Dato01, Solucion10
frm2.txtQry10 = Dato01

Close
End Sub

Private Sub cmdPath_Click()
MkDir ("C:\Temp\Examen")
End Sub

Private Sub Form_Load()
Dim listadodir As String
Dim listadofile As String

Dim miruta As String

miruta = "C:\temp\Examen"
listadodir = Dir(miruta, vbDirectory)

If listadodir = "Examen" Then
frm1.cmdPath.Enabled = False
Else
frm1.cmdPath.Enabled = True
End If


'Dim numeret As String
numeret = 1

listadofile = Dir("c:\temp\examen\Angles0" & numeret & ".txt")
If listadofile = "Angles0" & numeret & ".txt" Then
frm1.cmd11.Enabled = True
Else
frm1.cmd11.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Mates0" & numeret & ".txt")
If listadofile = "Mates0" & numeret & ".txt" Then
frm1.cmd21.Enabled = True
Else
frm1.cmd21.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Castellano0" & numeret & ".txt")
If listadofile = "Castellano0" & numeret & ".txt" Then
frm1.cmd31.Enabled = True
Else
frm1.cmd31.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Catala0" & numeret & ".txt")
If listadofile = "Catala0" & numeret & ".txt" Then
frm1.cmd41.Enabled = True
Else
frm1.cmd41.Enabled = False
End If

numeret = numeret + 1

listadofile = Dir("c:\temp\examen\Angles0" & numeret & ".txt")
If listadofile = "Angles0" & numeret & ".txt" Then
frm1.cmd12.Enabled = True
Else
frm1.cmd12.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Mates0" & numeret & ".txt")
If listadofile = "Mates0" & numeret & ".txt" Then
frm1.cmd22.Enabled = True
Else
frm1.cmd22.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Castellano0" & numeret & ".txt")
If listadofile = "Castellano0" & numeret & ".txt" Then
frm1.cmd32.Enabled = True
Else
frm1.cmd32.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Catala0" & numeret & ".txt")
If listadofile = "Catala0" & numeret & ".txt" Then
frm1.cmd42.Enabled = True
Else
frm1.cmd42.Enabled = False
End If

numeret = numeret + 1

listadofile = Dir("c:\temp\examen\Angles0" & numeret & ".txt")
If listadofile = "Angles0" & numeret & ".txt" Then
frm1.cmd13.Enabled = True
Else
frm1.cmd13.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Mates0" & numeret & ".txt")
If listadofile = "Mates0" & numeret & ".txt" Then
frm1.cmd23.Enabled = True
Else
frm1.cmd23.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Castellano0" & numeret & ".txt")
If listadofile = "Castellano0" & numeret & ".txt" Then
frm1.cmd33.Enabled = True
Else
frm1.cmd33.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Catala0" & numeret & ".txt")
If listadofile = "Catala0" & numeret & ".txt" Then
frm1.cmd43.Enabled = True
Else
frm1.cmd43.Enabled = False
End If

numeret = numeret + 1

listadofile = Dir("c:\temp\examen\Angles0" & numeret & ".txt")
If listadofile = "Angles0" & numeret & ".txt" Then
frm1.cmd14.Enabled = True
Else
frm1.cmd14.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Mates0" & numeret & ".txt")
If listadofile = "Mates0" & numeret & ".txt" Then
frm1.cmd24.Enabled = True
Else
frm1.cmd24.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Castellano0" & numeret & ".txt")
If listadofile = "Castellano0" & numeret & ".txt" Then
frm1.cmd34.Enabled = True
Else
frm1.cmd34.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Catala0" & numeret & ".txt")
If listadofile = "Catala0" & numeret & ".txt" Then
frm1.cmd44.Enabled = True
Else
frm1.cmd44.Enabled = False
End If

numeret = numeret + 1

listadofile = Dir("c:\temp\examen\Angles0" & numeret & ".txt")
If listadofile = "Angles0" & numeret & ".txt" Then
frm1.cmd15.Enabled = True
Else
frm1.cmd15.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Mates0" & numeret & ".txt")
If listadofile = "Mates0" & numeret & ".txt" Then
frm1.cmd25.Enabled = True
Else
frm1.cmd25.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Castellano0" & numeret & ".txt")
If listadofile = "Castellano0" & numeret & ".txt" Then
frm1.cmd35.Enabled = True
Else
frm1.cmd35.Enabled = False
End If

listadofile = Dir("c:\temp\examen\Catala0" & numeret & ".txt")
If listadofile = "Catala0" & numeret & ".txt" Then
frm1.cmd45.Enabled = True
Else
frm1.cmd45.Enabled = False
End If

End Sub

2. FORM2.FRM

###############

Option Explicit
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdNota_Click()
If frm2.txtAns01 = Solucion01 Then
Resultado01 = 1
img11.Visible = True
Else
Resultado01 = 0
img21.Visible = True
End If

If frm2.txtAns02 = Solucion02 Then
Resultado01 = Resultado01 + 1
img12.Visible = True
Else
Resultado01 = Resultado01 + 0
img22.Visible = True
End If


If frm2.txtAns03 = Solucion03 Then
Resultado01 = Resultado01 + 1
img13.Visible = True
Else
Resultado01 = Resultado01 + 0
img23.Visible = True
End If


If frm2.txtAns04 = Solucion04 Then
Resultado01 = Resultado01 + 1
img14.Visible = True
Else
Resultado01 = Resultado01 + 0
img24.Visible = True
End If


If frm2.txtAns05 = Solucion05 Then
Resultado01 = Resultado01 + 1
img15.Visible = True
Else
Resultado01 = Resultado01 + 0
img25.Visible = True
End If


If frm2.txtAns06 = Solucion06 Then
Resultado01 = Resultado01 + 1
img16.Visible = True
Else
Resultado01 = Resultado01 + 0
img26.Visible = True
End If


If frm2.txtAns07 = Solucion07 Then
Resultado01 = Resultado01 + 1
img17.Visible = True
Else
Resultado01 = Resultado01 + 0
img27.Visible = True
End If


If frm2.txtAns08 = Solucion08 Then
Resultado01 = Resultado01 + 1
img18.Visible = True
Else
Resultado01 = Resultado01 + 0
img28.Visible = True
End If


If frm2.txtAns09 = Solucion09 Then
Resultado01 = Resultado01 + 1
img19.Visible = True
Else
Resultado01 = Resultado01 + 0
img29.Visible = True
End If


If frm2.txtAns10 = Solucion10 Then
Resultado01 = Resultado01 + 1
img20.Visible = True
Else
Resultado01 = Resultado01 + 0
img30.Visible = True
End If

Close #1


NotaNum = Resultado01

If NotaNum > 8 Then
Nota = "Excelente"
ElseIf NotaNum > 6 Then
Nota = "Notable"
ElseIf NotaNum > 5 Then
Nota = "Bién"
ElseIf NotaNum > 4 Then
Nota = "Suficiente"
Else
Nota = "Insuficiente"
End If

txtNota.Text = Nota


End Sub

Private Sub Image1_Click()

End Sub


3. MODULE1.BAS
###############

Anglès via mail

http://www.mylanguageexchange.com/

Per practicar inglès via mail. Ho he de provar algun dia.

La dignitat de Catalunya

http://www.avui.cat/cat/notices/2009/11/la_dignitat_de_catalunya_79407.php


Després de gairebé tres anys de lenta deliberació i de contínues maniobres tàctiques que han malmès la seva cohesió i han erosionat el seu prestigi, el Tribunal Constitucional pot estar a punt d’emetre sentència sobre l’Estatut de Catalunya, promulgat el 20 de juliol del 2006 pel cap de l’Estat, el rei Joan Carles, amb el següent encapçalament: “Sapigueu: que les Corts Generals han aprovat, els ciutadans de Catalunya han ratificat en referèndum i jo vinc a sancionar la llei orgànica següent”. Serà la primera vegada des de la restauració democràtica de 1977 que l’alt tribunal es pronuncia sobre una llei fonamental ratificada pels electors. L’expectació és alta.

L’expectació és alta i la inquietud no és escassa davant l’evidència que el Tribunal Constitucional ha estat empès pels esdeveniments a actuar com una quarta cambra, confrontada amb el Parlament de Catalunya, les Corts Generals i la voluntat ciutadana lliurement expressada a les urnes.

Repetim, es tracta d’una situació inèdita en democràcia. Hi ha, no obstant, més motius de preocupació. Dels dotze magistrats que componen el tribunal, només deu podran emetre sentència, ja que un (Pablo Pérez Tremps) està recusat després d’una tèrbola maniobra clarament orientada a modificar els equilibris del debat, i un altre (Roberto García-Calvo) ha mort. Dels deu jutges amb dret a vot, quatre continuen en el càrrec després del venciment del seu mandat, com a conseqüència del sòrdid desacord entre el govern central i l’oposició sobre la renovació d’un organisme definit recentment per José Luis Rodríguez Zapatero com el “cor de la democràcia”. Un cor amb les vàlvules obturades, ja que només la meitat dels seus integrants estan avui lliures de contratemps o de pròrroga. Aquesta és la cort de cassació que està a punt de decidir sobre l’Estatut de Catalunya. Per respecte al tribunal –un respecte sens dubte superior al que en diverses ocasions aquest s’ha mostrat a ell mateix– no farem més al·lusió a les causes del retard en la sentència.

La definició de Catalunya com a nació al preàmbul de l’Estatut, amb la consegüent emanació de “símbols nacionals” (¿que potser no reconeix la Constitució, al seu article 2, una Espanya integrada per regions i nacionalitats?); el dret i el deure de conèixer la llengua catalana; l’articulació del Poder Judicial a Catalunya, i les relacions entre l’Estat i la Generalitat són, entre altres, els punts de fricció més evidents del debat, d’acord amb les seves versions, ja que una part significativa del tribunal sembla que està optant per posicions irreductibles. Hi ha qui torna a somiar amb cirurgies de ferro que tallin de soca-rel la complexitat espanyola. Aquesta podria ser, lamentablement, la pedra de toc de la sentència.

No ens confonguem, el dilema real és avanç o retrocés; acceptació de la maduresa democràtica d’una Espanya plural, o el seu bloqueig. No només estan en joc aquest o aquell article, està en joc la mateixa dinàmica constitucional: l’esperit de 1977, que va fer possible la pacífica Transició. Hi ha motius seriosos per a la preocupació, ja que podria estar madurant una maniobra per transformar la sentència sobre l’Estatut en un verdader tancament amb pany i forrellat institucional. Un enroc contrari a la virtut màxima de la Constitució, que no és altra que el seu caràcter obert i integrador. El Tribunal Constitucional, per tant, no decidirà únicament sobre el plet interposat pel Partit Popular contra una llei orgànica de l’Estat (un PP que ara es reaproxima a la societat catalana amb discursos constructius i actituds afalagadores). L’alt tribunal decidirà sobre la dimensió real del marc de convivència espanyol, és a dir, sobre el més important llegat que els ciutadans que van viure i van protagonitzar el canvi de règim a finals dels anys setanta transmetran a les joves generacions, educades en llibertat, plenament inserides en la complexa supranacionalitat europea i confrontades als reptes d’una globalització que relativitza les costures més rígides del vell Estat nació. Estan en joc els pactes profunds que han fet possible els trenta anys més virtuosos de la història d’Espanya. I arribats a aquest punt és imprescindible recordar un dels principis vertebradors del nostre sistema jurídic, d’arrel romana: Pacta sunt servanda, els pactes s’han de complir.

Hi ha preocupació a Catalunya i cal que tot Espanya ho sàpiga. Hi ha alguna cosa més que preocupació. Hi ha un creixent atipament per haver de suportar la mirada irada dels que continuen percebent la identitat catalana (institucions, estructura econòmica, idioma i tradició cultural) com el defecte de fabricació que impedeix a Espanya assolir una somiada i impossible uniformitat. Els catalans paguen els seus impostos (sense privilegi foral); contribueixen amb el seu esforç a la transferència de rendes a l’Espanya més pobra; afronten la internacionalització econòmica sense els quantiosos beneficis de la capitalitat de l’Estat; parlen una llengua amb més pes demogràfic que el de diversos idiomes oficials a la Unió Europea, una llengua que en lloc de ser estimada, resulta sotmesa tantes vegades a l’obsessiu escrutini de l’espanyolisme oficial. I acaten les lleis, per descomptat, sense renunciar a la seva pacífica i provada capacitat d’aguant cívic. Aquests dies, els catalans pensen, sobretot, en la seva dignitat; convé que se sàpiga.

Estem en vigílies d’una resolució molt important. Esperem que el Constitucional decideixi atenent les circumstàncies específiques de l’assumpte que té entre mans –que no és sinó la demanda de millora de l’autogovern d’un vell poble europeu–, recordant que no existeix la justícia absoluta, sinó només la justícia del cas concret, raó per la qual la virtut jurídica per excel·lència és la prudència. Tornem a recordar-ho: l’Estatut és fruit d’un doble pacte polític sotmès a referèndum. Que ningú es confongui, ni malinterpreti les inevitables contradiccions de la Catalunya actual. Que ningú erri el diagnòstic, per molts que siguin els problemes, les desafeccions i les contrarietats. No som davant d’una societat feble, postrada i disposada a assistir impassible al deteriorament de la seva dignitat. No desitgem pressuposar un desenllaç negatiu i confiem en la probitat dels jutges, però ningú que conegui Catalunya posarà en dubte que el reconeixement de la identitat, la millora de l’autogovern, l’obtenció d’un finançament just i un salt qualitatiu en la gestió de les infraestructures són i continuaran sent reclamacions tenaçment plantejades amb un amplíssim suport polític i social. Si és necessari, la solidaritat catalana tornarà a articular la legítima resposta d’una societat responsable.

divendres, 27 de novembre de 2009

Retard en VB6




Avui estava fent un programet per la feina i m'he trobat amb el problema que les línies s'executaven massa depresa.

Concretament tenia, dins un directori uns 150 PDFs i volia llistar-los -amb un dir- en un txt.

Com que, en realitat, l'únic que volia era el txt amb el llistat dels PDF, la idea era que un cop omplert el txt s'esborressin els PDF:

1 escric el llistat
2 borro els pdf

El problema es que l'escriptura la fa Windows i, mentre ho vol començar a fer, Visual ja ha arribat a la segona línia i, com borra els PDF, Windows no té temps de escriure..

Total que necessitava quelcom per fer retardar el espai entre els dos pasos. La meva companya de feina em va suggerir el delay o el sleep, però aquestes funcions són pròpies de C++ i altres programes dels que no tinc ni idea.

Buscant, buscant he trobat http://support.microsoft.com/kb/96069/es i ho he aplicat en un miniprograma que al polsar un botó, al cap de 10 segons, escriu en un label "hola maco".







dimecres, 25 de novembre de 2009

Jupiter tocant la lluna

Semblava que Jupiter ja havia marxat, però el tornem a tenir ben aprop. Aquesta és una simulació amb el programa Stellarium de Jupiter tocant la lluna aquest vespre

No puc posar accents, Virus

Feia uns dies que, quan volia posar un accent, m'apareixien una mena de cometes, per exemple, volia escriure acció i em sortia acci' 'o.

Pensava que era un tema de desconfiguració del teclat però no ho trobava. En Google ben aviat vaig veure que a alguns usuaris també els havia passat i reportaven enormes logs de programes antivirus... Total que vaig pensar en el meu estimat Malwarebytes i... novament en un plis m'ha trobat 6 fitxers infectats que tot seguit ha eliminat i, com es pot veure, ha resolt el tema dels accents.

Impost de successions. Quim Monzó.

http://www.lavanguardia.es/lv24h/20091125/53829997666.html

En la cama, un anciano francamente demacrado tiene la mirada fija en la pared de enfrente. Su hijo mantiene la mano izquierda entre las suyas y susurra:

–Papá...

Entra la enfermera, con ese aire forzadamente pizpireto que utilizan. Lo hacen con el sano objetivo de insuflar un poco de optimismo a la situación, que, en general, en los hospitales no está como para tirar cohetes.

–¿Qué tal vamos hoy, Daniel?

Al hijo le fascina cómo, de forma metódica, las enfermeras siempre incluyen en el saludo el nombre del paciente: para que se sienta reconocido y apreciado, para que perciba un trato personalizado.

–Ay, mal, muy mal... –dice el anciano.

–¡No diga esas cosas, Daniel! A ver si me voy a enfadar... Si está usted como un pimpollo.

–Ay, no. ¿Para qué engañarnos? Yo noto que esto ya se acaba...

–¡Vaya cosas de decir, Daniel! –finge indignarse la enfermera, mientras cambia una de las dos bolsas del soporte para los dispositivos de perfusión–. Bueno, esto ya está. ¡Hasta luego, Daniel!

–Hasta luego –dice el hijo.

–Ay... –dice el anciano.

–¿Estás bien, papá?

El hombre gira la mirada hacia su hijo. Sabe que, para él, ya no es más que una carga, y por eso mismo piensa que lo mejor sería que todo acabase ya. Fuerza una sonrisa, pero a penas consigue una mueca lúgubre.

–No, no estoy bien. Ya sabes tú que no estoy bien, que esto se acaba. Y no me quejo... –Tose repetidamente–. No me quejo porque, al fin y al cabo, he vivido una vida bastante feliz. –Le cuesta hablar–. Os tengo a ti y a Teresa..., y a mi nieto..., pero sabes que desde que mamá murió yo ya no he sido el mismo.

–Ya verás como todo irá bien. De aquí a un par de semanas volverás a casa y...

–No. No volveré a casa. Te lo digo en serio... –Vuelve a toser–. Yo sé que de aquí no salgo... Sé que voy a morirme aquí, y pronto.

–Pero, papá, no digas eso. ¡No puedes morirte ahora!

–¿Cómo que no...? –El hombre vuelve a toser.

–¡Tienes que resistir, papá!

–Resistir, no... ¿Por qué?

–Pues porque... Porque aún tienes vida por delante. ¡Tienes que resistir, tienes que vivir! Hazlo por mí y por Teresa, ¡y por tu nieto!

–A Navidad no llego, que te lo digo yo. El anciano encadena un acceso de tos tras otro, y agita la mano en busca de la pera para llamar a la enfermera. Su hijo la encuentra bajo la almohada y, mientras la aprieta una y otra vez, le dice:

–Aguanta, papá, ¡sé fuerte!, aguanta al menos un año más, hasta que aprueben la reforma del impuesto de sucesiones.

Access. Consulta amb paràmetres entre dates

Ho deixo amb imatges:


Com fer servir el Recordset

Tenim una base de dades Access i volem que unes variables, que podrem possar on volguem, prenguin uns valors concrets d'una consulta d'aquesta base. L'aspecte de la base amb la consulta "Poble":

Aqui tenim el codi (perdo pels accents, he de resoldre algun problema amb el meu teclat). Si el feu servir veureu que les variables ..A1 fins A4 -com si fos excel- contenen la primera linia, de B1 fins a B4 la segona linea...


dimarts, 24 de novembre de 2009

UneText


Per unir molts fitxers de text en un de sol. El codi ja és una mica digne fins i tot..

I el codi pla:

'#####MODUL#####
Option Explicit

Public fichero As String
Public resultado As String
Public volumen As Integer

'#####FORMULARI#####

Option Explicit
Private Sub Form_Load()
End Sub
Private Sub txtVolum_Change()
volumen = txtVolum.Text
Calculo
lblJaEsta.Visible = True
End Sub
Private Sub Calculo()

Dim i As Integer
i = 1

resultado = "C:\temp\UneText\resultado.txt"

Dim linea As String

For i = 1 To volumen

fichero = "C:\temp\UneText\" & i & ".txt"
Open fichero For Input As #1
Open resultado For Append As #10

While Not EOF(1)
Line Input #1, linea$
Print #10, linea$
Wend
Close

Next i
Close

End Sub

dilluns, 16 de novembre de 2009

Victoriano Crémer

http://amediavoz.com/cremer.htm

Dulce amor

Las cosas suceden así,
sencillamente:

Vuelven del trabajo
con sabor de cal viva entre los dientes.
la esposa les contempla con costumbre.
-¿Quién dice amor, si la palabra estalla?-.

Y cogen del pan,
como si fuera barro y arena,
un puñado tan sólo.
(Es pan de pobres, desalado y negro
y triste como el silencio de la casa toda.)

Y se marchan.

(La esposa les oye cerrar la puerta,
pero no dice nada. ¡Está tan cansada!
Prefiere aquella fría soledad
con olor de abandono.

Pudiera recordar su juventud y dormir,
pero ¿quién sueña o duerme?
Los pobres no recuerdan;
mueren como las piedras roídas de las murallas.

Ellos, en tanto, beben
un agrio vino con sabor de azufre;
y si ríen y gritan y golpean,
es porque -¡Dios, qué vida!-
da rabia beber sin alegría.

Acaso entonces lleguen hombres
de esos que velan por la paz de las familias,
y les hablen del dulce amor de las esposas
y del descanso junto al fuego,
escuchando, por la radio, una dulce canción,
mientras los niños buscan en el atlas
países coronados de yedras o corales...

Si esto sucede, gritan con más fuerza
y beben más vino agrio con sabor de azufre,
hasta que ya no saben dónde tienen los ojos,
ni por qué les duele el corazón.

Les arrojan con prisa.
La calle es larga, y en el firmamento
las estrellas relucen.

Regresan a la casa -¡oh dulce hogar!- llorando.
La esposa les contempla con costumbre.
-¿Quién dice amor, si la palabra estalla?-.

Anava jo tranquilament circulant per la dreta...

Monty Python. El millor acudit del món.

Es un acudit molt perillós.
Tal i com queda provat en aquest documental -totalment verídic-, aquest acudit pot provocar la mort.

diumenge, 15 de novembre de 2009

Accelerar Firefox


Tinc la impressió que, seguint aquestes intruccions de Xavier Vidal amb el Mozilla Firefox, es pot guanyar molta velocitat.

http://versiorac.blogspot.com/2009/11/accelerar-firefox-la-maxima-velocitat.html

dissabte, 14 de novembre de 2009

Logon.exe resolt amb Malwarebytes

Quan obria Windows (XP), la pantalla de benvinguda es quedava una bona estona aturada. Quan arribava a l'escriptori rebia un missatge que indicava que Windows no troba logon.exe. [ Windows no encuenta el fichero logon.exe ]

He anat buscant per Internet i, com sempre, tothom deia la seva. Finalment, en un foro de http://www.infospyware.com/ a banda dels 11 pasos per desinfectar la màquina, concretament a http://www.forospyware.com/t8.html suggerien instalar antiSpayWares (programes anti-espietes)

Un dels mes recomanats era el Malwarebytes: http://www.infospyware.com/antispyware/malwarebytes-antimalware/

Ho he fet i, en un plis (un plis de 6 minuts) m'ha trobat el trojà i me l'ha netejat.

divendres, 13 de novembre de 2009

Monty Python. Discusió

Efectes especials

Repassant entrades antigues de Xavier Vidal (les ovelles elèctriques de Rac1) he trobat aquest YouTube sobre efectes especials.

dijous, 12 de novembre de 2009

dimecres, 11 de novembre de 2009

Monty Python. La inquisició espanyola

Costa de creure, però la part més surrealista és just al final.

dimarts, 10 de novembre de 2009

El asombroso viaje de Pomponio Flato


En una recuperació de l'estil del Laberinto i El Misterio barrejada amb La Vida de Brian aquesta novela d'intriga policiaca té moments delirants.

Algunes frases cèlebres:

"Llevaba un rato así cuando oí una poderosa detonación procedente de mi propio organismo y salí disparado de mi cabalgadura con tal violencia que fui a caer a unos veinte pasos del animal, el cual, presa de espanto, partió al galope dejándome maltrecho e inconsciente.

No sé cuánto tiempo estuve así, hasta que desperté y me vi rodeado de un numeroso grupo de árabes que me miraban con extrañeza, preguntándose los unos a los otros quién podía ser aquel individuo y cómo podía haber llegado hasta allí por sus propios medios. Con un hilo de voz les dije que era un ciudadano romano, de familia patricia y de nombre Pomponio Flato, y que de resultas de una ligera indisposición me había caído del caballo.

Habiendo escuchado atentamente mi relato, deliberaron un rato sobre cómo proceder, hasta que uno dijo:

—Propongo que le robemos lo que todavía lleva encima, que le demos por el culo reiteradamente y que luego le cortemos la cabeza como suele hacer con los viajeros nuestra pérfida raza.

—Pues yo propongo —dice otro— que le demos agua y alimentos, lo subamos a un camello y lo llevemos con nosotros hasta encontrar quien pueda curarle y hacerse cargo de él.

—Bueno —dicen los demás con voluble facundia."

(...)

"Antes que entregarse a los romanos y ver sus templos profanados, los judíos prefieren darse muerte unos a otros y dejar que el último, antes de suicidarse, incendie la población y cuanto ésta contiene. A menudo es tal su precipitación por matarse entre sí que al final no queda nadie para aplicar la antorcha."

diumenge, 8 de novembre de 2009

Música i poesia de primària

Existeix el cantó fosc.

Intentaré anar recopilant les boniques i edificants rimes i cançons -un xic heterodoxes- que es canten en els patis i gimnasos catalans, totes, per cert, en castellà.

Queden reflectides en color coincident amb el fons. Qui les vulgui llegir, sols té -sota la seva responsabilitat- que pasar per sobre el cursor.

(poesia sense música)
En un lugar de la Mancha
donde el semen no mancha
vivía Juan de Troya
con sus tres metros de poya
Tenía cien esposas
todas ellas eran putas
se folló noventa y nueve
y una la dejó para el jueves

####################

(música típica de marxa militar americana)
En el cielo manda Dios
En el cielo manda Dios
en el mar los marineros
en el mar los marineros
y en los campos españoles
y en los campos españoles
manda el Barça con dos cojones
manda el Barça con dos cojones

####################

(música típica de marxa militar americana)
De la mili me han echa[d]o
De la mili me han echa[d]o
y un paquete les he deja[d]o
y un paquete les he deja[d]o
a la hija del coronel
a la hija del coronel
en medio del pasillo yo me la tiré
en medio del pasillo yo me la tiré
####################
(música del himno del Barça)
Tot el camp
ple de fang
on pasturen les vaques
és el camp del Madrid
fastigòs i pudrit
Madrid, pudrit, que es caga sota el llit, a les dotze de la nit

1961-1989 El mur



Rafael Poch Corresponsal en Berlín 08/11/2009

"Con el régimen paralizado y la calle revuelta, en Berlín Este el poder estaba en el suelo. Dependía más de la calle que de los despachos, pero aun no se sabía. Desde principios de junio la apertura húngara propiciaba un multitudinario éxodo de ciudadanos hacia Austria, con embajadas de la RFA llenas de refugiados y un flujo creciente de manifestaciones y desafíos. El cancerbero moscovita no hacía nada contra aquello y aplicaba la Doctrina Sinatra ("haz lo que quieras"). En Berlín Este el poder estaba desconcertado, paralizado, deprimido.

En julio Eric Honecker, 77 años, el jefe del Partido de Estado (SED), enfermó y fue hospitalizado. Con el país hecho unos zorros, el 15 de agosto se fue de vacaciones para cinco semanas. Desde 1984 su compañero Günter Mitag le suplía en esos casos. No en esa ocasión. Honecker prohibió toda discusión sobre la situación política en su ausencia. Regresó de vacaciones con un "buen discurso" para celebrar el 40 aniversario de la RDA, como si nada, entre manifestaciones reprimidas que coreaban Gorby, Gorby al paso de Gorbachov, y una frase errática pero clara del líder soviético, que luego fue muy distorsionada, y que decía textualmente; "el peligro sólo amenaza a quien no reacciona a la vida".

Honecker no reaccionaba. El 17 de octubre fue destituido por una votación unánime del Politburó, resultado de una tardía conjura animada por varios de sus compañeros. (...) Egon Krenz, de 52 años, le sustituyó. Krenz hablaba de "cambio", pero carecía de toda credibilidad.(...) Mientras tanto, las manifestaciones crecían; el 9 de octubre habían sido 70.000 en Leipzig, el 4 de noviembre fueron medio millón en la Alexanderplatz de Berlín. El poder seguía en la calle, pero ahora la calle comenzaba a darse cuenta.

El régimen tenía aun una gran carta que jugar: abrir el odiado e infame Muro. La jugó tan mal que la convirtió en una nueva prueba de su desbarajuste. Tras aprobar una nueva libertad de viajar, previa obtención de un pasaporte ante la policía, el portavoz y miembro del politburó Günter Schabowski informó, el 9 de noviembre, al término de una conferencia de prensa anodina de la nueva norma sobre libertad de viaje sin dar detalles. A las 18,53 el corresponsal de la agencia italiana Ansa le preguntó, "¿cuando entra en vigor?". Schabowski, con las gafas puestas consultó el desordenado montón de papeles que manejaba, y respondió, como improvisando; "...tal como yo lo entiendo..., a partir de ya, inmeditamente". Comenzaba la estampida.

Bernd Wolterstädt, 39 años, padre de familia y funcionario del ayuntamiento de Berlín Este, escuchaba aquella conferencia de prensa retransmitida en directo por la radio y la tele. Oyó, pero no comprendió."Era como si nos hubieran dicho que el Papa estaba embarazado, simplemente no podía ser." Una doctora en físicas, cuatro años más joven que él, también escuchó aquello. Llamó a su madre por teléfono para comentarlo, y como cada jueves por la tarde se fue con una amiga a la sauna de la piscina del Thälmann Park. Su nombre era Ángela Merkel. Regresaban las dos amigas a casa con la bolsa de baño y pasaron por delante de la Bornholmerstrasse, donde se había abierto el muro. "Me mezclé enseguida con la gente para pasar a Berlín Oeste. Lo que sentí no se puede describir con palabras", ha explicado al rememorarlo.

Heinz Schäfer, oficial guardafronteras, dice que fue su puesto de la Avenida Walterdorfer, en el sector sur este del Muro, y no el de la Bornholmer, el primero en abrir. Cuando oyó la noticia en casa se fue corriendo a su puesto, confiscó toda la munición a sus soldados y les instruyó para que dejaran pasar a la gente". Miles de personas se concentraban en los puestos fronterizos. Había gran confusión, pero al final el asunto se resolvió según el mejor escenario. Aquella noche se cantó y se bailó sobre el Muro y a ambos lados de el. La Kudamm, el paseo burgués de Berlín Oeste por excelencia se llenó de "Trabant" y Wartburg", los utilitarios de la RDA, una estampa surrealista. El Canciller Kohl, que se encontraba en Varsovia, recibió incrédulo la noticia e interrumpió su visita oficial.

Al día siguiente en las autopistas en dirección al Oeste había hasta cien kilómetros de cola, la gente se amontonaba ante los bancos y cajas para recibir los 100 marcos (50 euros) de "dinero de bienvenida" que, astutamente, el gobierno federal de Bonn concedía a cualquier ciudadano de la RDA que presentara su pasaporte en el Oeste.(...)"

La Vanguardia 08 Noviembre 2009

Fotos d'abans i desprès (http://www.spiegel.de/international/germany/0,1518,660190,00.html)





dimecres, 4 de novembre de 2009

MiluTest03. Codi menys lamentable

Però encara ho continua essent. Per cert, no eren 782 caracters.. això sols era el formulari. Si afegim el cmdNota, en realitat eren 3337 caracters.

La nova versió s'ha reduit a 2623 caràcters. Coses a destacar:

1) L'usuari escull el txt que conté les preguntes i les respostes
2) Sols hi ha un fitxer. Abans hi havia un de preguntes i un de respostes
3) He descobert com declarar variables de tipus Public mitjançant la creació d'un mòdul
4) En alguns casos sol hi ha una declaració per les 10 entrades.
5) Fracàs en l'ús del for - to
6) El tractament de la suma de les notes es bastant més digne.
7) No he treballat el tema de matrius. Probablement evitaria moltes línies.

Us poso una captura dels fitxers de preguntes i respostes i un parell d'imatges del programa funcionant. En la segona imatge, l'usuari ha corregit dues errades, la qual cosa li ha fet pujar nota.

Nota per generar els fitxers de preguntes i respostes:
a) ha de tenir 11 línies
b) la primera línia ha de contenir,a principi de línia, les paraules MATEMATICAS o INGLES o CASTELLANO (ho anire ampliant)
c) des de la segona fins a la decena linia, separem pregunta i resposta amb una coma.



dimarts, 3 de novembre de 2009

MiluTest 02. Codi lamentable (782)

Option Explicit

Private Sub Form_Load()

Dim ruta As String

ruta = "C:\LearnVisual\MiluTest_01\PlantillaPregunta.txt"

Dim Dato00 As String

Dim Materia As String

Dim Dato01 As String

Dim Dato02 As String

Dim Dato03 As String

Dim Dato04 As String

Dim Dato05 As String

Dim Dato06 As String

Dim Dato07 As String

Dim Dato08 As String

Dim Dato09 As String

Dim Dato10 As String

Open ruta For Input As #1

Input #1, Dato00

txtDato00 = Dato00

Materia = Left(Dato00, 4)

If Materia = "CAST" Then

ImgCAST.Visible = True

ElseIf Materia = "ANGL" Then

imgANGL.Visible = True

End If

Input #1, Dato01

txtDato01 = Dato01

Input #1, Dato02

txtDato02 = Dato02

Input #1, Dato03

txtDato03 = Dato03

Input #1, Dato04

txtDato04 = Dato04

Input #1, Dato05

txtDato05 = Dato05

Input #1, Dato06

txtDato06 = Dato06

Input #1, Dato07

txtDato07 = Dato07

Input #1, Dato08

txtDato08 = Dato08

Input #1, Dato09

txtDato09 = Dato09

Input #1, Dato10

txtDato10 = Dato10


Close

End Sub



Private Sub cmdNota_Click()

Dim ruta2 As String

Dim Solucion01 As String

Dim Solucion02 As String

Dim Solucion03 As String

Dim Solucion04 As String

Dim Solucion05 As String

Dim Solucion06 As String

Dim Solucion07 As String

Dim Solucion08 As String

Dim Solucion09 As String

Dim Solucion10 As String

ruta2 = "C:\LearnVisual\MiluTest_01\PlantillaSolucion.txt"

Open ruta2 For Input As #2

Input #2, Solucion01

Input #2, Solucion02

Input #2, Solucion03

Input #2, Solucion04

Input #2, Solucion05

Input #2, Solucion06

Input #2, Solucion07

Input #2, Solucion08

Input #2, Solucion09

Input #2, Solucion10

Close

Dim NotaNum As Integer

Dim Nota As String

Dim Respuesta01 As String

Dim Respuesta02 As String

Dim Respuesta03 As String

Dim Respuesta04 As String

Dim Respuesta05 As String

Dim Respuesta06 As String

Dim Respuesta07 As String

Dim Respuesta08 As String

Dim Respuesta09 As String

Dim Respuesta10 As String

Dim Resultado01 As Integer

Dim Resultado02 As Integer

Dim Resultado03 As Integer

Dim Resultado04 As Integer

Dim Resultado05 As Integer

Dim Resultado06 As Integer

Dim Resultado07 As Integer

Dim Resultado08 As Integer

Dim Resultado09 As Integer

Dim Resultado10 As Integer

Respuesta01 = txtRespuesta01

Respuesta02 = txtRespuesta02

Respuesta03 = txtRespuesta03

Respuesta04 = txtRespuesta04

Respuesta05 = txtRespuesta05

Respuesta06 = txtRespuesta06

Respuesta07 = txtRespuesta07

Respuesta08 = txtRespuesta08

Respuesta09 = txtRespuesta09

Respuesta10 = txtRespuesta10

If Respuesta01 = Solucion01 Then

Resultado01 = 1

img11.Visible = True

Else

Resultado01 = 0

img21.Visible = True

End If

If Respuesta02 = Solucion02 Then

Resultado02 = 1

img12.Visible = True

Else

Resultado02 = 0

img22.Visible = True

End If

If Respuesta03 = Solucion03 Then

Resultado03 = 1

img13.Visible = True

Else

Resultado03 = 0

img23.Visible = True

End If

If Respuesta04 = Solucion04 Then

Resultado04 = 1

img14.Visible = True

Else

Resultado04 = 0

img24.Visible = True

End If

If Respuesta05 = Solucion05 Then

Resultado05 = 1

img15.Visible = True

Else

Resultado05 = 0

img25.Visible = True

End If

If Respuesta06 = Solucion06 Then

Resultado06 = 1

img16.Visible = True

Else

Resultado06 = 0

img26.Visible = True

End If

If Respuesta07 = Solucion07 Then

Resultado07 = 1

img17.Visible = True

Else

Resultado07 = 0

img27.Visible = True

End If

If Respuesta08 = Solucion08 Then

Resultado08 = 1

img18.Visible = True

Else

Resultado08 = 0

img28.Visible = True

End If

If Respuesta09 = Solucion09 Then

Resultado09 = 1

img19.Visible = True

Else

Resultado09 = 0

img29.Visible = True

End If

If Respuesta10 = Solucion10 Then

Resultado10 = 1

img20.Visible = True

Else

Resultado10 = 0

img30.Visible = True

End If

NotaNum = Resultado01 + Resultado02 + Resultado03 + Resultado04 + Resultado05 + Resultado06 + Resultado07 + Resultado08 + Resultado09 + Resultado10

If NotaNum > 8 Then

Nota = "Excelente"

ElseIf NotaNum > 6 Then

Nota = "Notable"

ElseIf NotaNum > 5 Then

Nota = "Bién"

ElseIf NotaNum > 4 Then

Nota = "Suficiente"

Else

Nota = "Insuficiente"

End If

txtNota.Text = Nota

End Sub