Buenas hice este programa en c++ para darle un efecto a mis scripts en batch bueno lo que hace es imprimir un texto letra por letra pero antes de imprimir una letra muestra varios caracteres, ademas de controlar la velocidad con la que se muestran, no se si sea util pero a ver si le sirve a alguien XD.
Uso :
echoefect "texto" numero_para_la_velocidad_de_escritura
para variable
echoefect "texto"%variable%"texto" numero_para_la_velocidad_de_escritura
Codigo fuente :
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(int argc, char *argv[]) {
int a=1,b,x0,x1,x2,saltoLinea=79;
char *cadena = argv[1];
char cad[tam];
char cadaux[tam];
// letras a mostrar
char *letraa="a";
char *letran="#";
char *letrap="%";
char *letrai="?";
char *letraX="<";
char *letraas="*";
char *letrab="/";
char *letrae=" ";
// Velocidad de Escritura
if ( vel == 0 ) vel=10 ; // si el valor es 0 o no es escrito entonces la velocidad toma el valor de 10
for (x0=1;x0<tam;x0++) {
//desacelerador de velocidad de escritura desde los ultimos 6 caracteres
if ( x0 >= tam-6 ) {
vel++;
}
// salto de linea en el caracter 78
if ( x0 == saltoLinea ){
b=a-1;
cadaux[tam] = '\0';
cout << endl ;
saltoLinea=saltoLinea+78;
}
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letraa
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letran
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letrai
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letraX
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letraas
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letrab
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
cad[a] = '\0';
cout
<< "\r" << strncat (cad
, letrae
, 1) ; for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
a++;
}
cout << "\r" << cadena << endl ;
for (x0=-9999999;x0<9999999;x0++){
for (x0=-9999999;x0<9999999;x0++);
}
return 0;
}
/*
realizado por Noe
the_bird_of_the_hermes_is_my_name@hotmail.com
*/
El Code lo pueden modificar ( si lo mejoran quisiera que me manden el nuevo codigo XD)
si quieren en ejecutable directamente para usar :
http://www.noe-bo.herobo.com/pro-win/echoefect.zip