Los lenguajes de programación han evolucionado de forma por demás interesante. El paradigma “visual” nos ha permitido simplificar el problema de la interfaz gráfica. Desde la aparición de las herramientas RAD (Rapid Application Development), simplemente ponemos una forma (una ventana), colocamos componentes visuales y no visuales como pueden ser botones, barras de progreso, menús, etcétera, y le decimos al programa qué queremos que pase cuando le damos clic a algunos de esos elementos.
|
etiquetas: visual basic , 25 años
Coñas aparte, Visual Basic murió en la version 6, en ese momento nació Visual Basic .Net
ListBox1.Items.Add("Uno")
ListBox1.Items.Add("Dos")
ListBox1.Items.Add("Tres")
Afortunadamente la providencia nos ha bendecido y llegó Android Studio y para hacer algo como lo anterior se debe:
1. Crear un XML
<ListView
xmlns:android="schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lista"/>
2. Declararlo
ListView lista;
ArrayAdapter<String> adaptador;
3. Encontrar el control
lista = (ListView)findViewById(R.id.lista);
4. El adaptador
adaptador = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arregloCadenas);
5. Relacionar
lista.setAdapter(adaptador);
6. La lista de tareas
public class Tarea{
private String nombre;
private String hora;
public Tarea(String nombre, String hora){
this.nombre = nombre;
this.hora = hora;
}
public void setNombre(String nombre){
this.nombre = nombre;
}
public void setHora(String hora){
this.hora = hora;}
public String getNombre(){return nombre;}
public String getHora(){return hora;}
}
7. Relacionar de nuevo
adaptador = new ArrayAdapter<String>(this,android.R.layout.two_line_list_item, arregloCadenas);
8. Sobreescribir la clase ArrayAdapter
package TUPAQUETE.todo;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.List;
public class TareaArrayAdapter<T> extends ArrayAdapter<T> {
public TareaArrayAdapter(Context context, List<T> objects) {
super(context, 0, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
//Obteniendo una instancia del inflater
LayoutInflater inflater = (LayoutInflater)getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//Salvando la referencia del View de la fila
View listItemView = convertView;
//Comprobando si el View no existe
if (null == convertView) {
//Si no existe, entonces inflarlo con two_line_list_item.xml
listItemView = inflater.inflate(
android.R.layout.two_line_list_item,
parent,
false);
}
//Obteniendo… » ver todo el comentario
Por comparar, por ejemplo los controles de cronómetros, en VB creo que como mucho eran 4 minutos de tiempo para el disparo de un evento mientras que mismo control el VFP podía llegar a los 6 días. Pero bueno, como experiencia. Además donde esté un buen C++ que se quiten los basics...
10 INPUT "Cuál es su nombre:"; NN$
20 PRINT "Bienvenido al 'asterisquero' ";NN$
25 PRINT
30 INPUT "con cuántos asteriscos inicia [Cero sale]:"; N
40 IF N<=0 THEN GOTO 200
50 AS$=""
60 FOR I=1 TO N
70 AS$=AS$+"*"
80 NEXT I
90 PRINT "AQUI ESTAN:"; AS$
100 INPUT "Desea más asteriscos:";SN$
110 IF SN$="" THEN GOTO 100
120 IF SN$<>"S" AND SN$<>"s" THEN GOTO 200
130 INPUT "CUANTAS VECES DESEA REPETIRLOS [Cero sale]:"; VECES
140 IF VECES<=0 THEN GOTO 200
150 FOR I=1 TO VECES
160 PRINT AS$;
170 NEXT I
180 PRINT
185 REM A repetir todo el ciclo
190 GOTO 25
200 END
está sacado de la wikipedia, no tenía ganas de escribirlo
Con cuatro líneas de código conseguías crear pantallas como las de los programas de Windows, nada que ver con la maldita shell negra de C. Por fin podías fardar delante de tus colegas!
Con el tiempo, y al aprender otros lenguajes, te vas dando cuenta de lo guarromierda que era.
Eso sí, lo recuerdo con cariño.
El día que vi el Visual Basic se me vino el mundo abajo. No por el lenguaje en sí, sino porque microsoft pretendía que se hicieran aplicaciones verdad en un sistema operativo windows que tenía una forma de trabajar radicalmente diferente a los antiguos ms-dos.
Fui profesor de Visual C/C++ (y de Visual Basic también, qué remedio) durante años y a todos mis alumnos les decía que si no sabían programar todavía Visual Basic no era precisamente el mejor lenguaje para aprender a programar en windows. Por eso cuando me tocaba hacer algún curso largo de programación en Visual Studio siempre empezaba por C (y no lo hacía en Visual Studio sino en un Turbo C de MS-DOS. Después pasaba al C++, también en Turbo C, y ya tras eso entraba al Visual Studio en C/C++ para explicarles cómo funcionaba Windows respecto al antiguo MS-DOS. Y ya al final el último lenguaje era el Visual Basic. De esa forma lo que pretendía era que si veían algo estilo:
ListBox1.Items.Add("Uno")
entendieran de verdad lo que había detrás de todo aquello.
Ahora con la fiebre del Wordpress pasa algo parecido: hay mucha gente que dice "saber" programar porque ha sabido instalar 4 plugins en una plantilla de Wordpress, pero cuando el trabajo es muy específico, esa "webs" pierden agua por todas partes.