Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ~~

#721
Pues sin descargarlo o sin pasarle el contenido del texto al cliente de alguna manera no puedes...
Tienes o que descargar el archivo o simplemente q el servidor te mande el contenido ;)
#722
Ahora el c++ se supone que es más fregón que vb en teoría Aun que vb sea más práctico.
Entonces me conviene estudiar c++  A ese si lo dejan instalarse en vista?
O no, o ya de plano me estudio el  c++ net Que me combiene?


C++ es un lenguaje con unos 20 años de existencia... dudo mucho q de la noche a la mañana desaparezca despues de tanto tiempo, asi q puedes aprender C++ o C# (q no c++net  :rolleyes: :rolleyes:)
C# dará mucho juego en el futuro y posiblemente tb a nivel laboral, aunke yo creo q C++ nunca morirá por su compatibilidad con linux y por ser uno de los lenguajes mas potentes y bastante sencillo

En cuanto a VB6... Pues como te han dicho ya esta casi muerto... yo lo sigo usando la verdad por q me da pereza instalar el net y aprenderme las partes de sintaxis q son distintas.... pero supongo q cuando empiece a trabajar tendré q aprender vb .net
#723
Te refieres a mostrar el contenido del archivo de texto en un textbox??
Pues asi:

open ruta for binary as #1
dim archivo as string
archivo = space(lof(1))
get #1,,archivo
close #1

text1.text = archivo


Si lo kieres ir añadiendo a un list box linea a linea solo tienes q separar las lineas mediante un split:

linea = split(archivo,vbcrlf)

Y lo añades linea a linea siendo linea(0) la primera, linea(1) la segunda...
#724
Cierra el proceso tras hacerlo correr ;)

Es decir, ejecutas el shell, doevents, obtienes su pid y los cierras  :P
#725
Lees el fichero entero:
open ruta for binary as #1
dim todo as string
todo = space(lof(1))
get #1,,todo
close #1


Y ahora q tienes todo el fichero en la variable todo aplicas el codigo anterior, con lo q tu kieras sustituir claro  :xD
Dim Final As String
Final = Replace(todo, "HOLA", "¬¬'")


Ahora borras el fichero q has leido anteriormente:
kill ruta
Siendo ruta la ruta del fichero claro

Finalmente creas un nuevo fichero con la cadena ya sustituida:
open ruta for binary as #1
put #1,final
close #1


Y ya esta  :xD :xD
1S4ludo
#726
Mira, un ejemplo facil con un textbox en vez de un archivo (luego es adaptarlo nada mas ;))

Private Sub Command1_Click()
Dim Final As String
Final = Replace(Text1.Text, "HOLA", "¬¬'")
Text1.Text = Final
End Sub


Imaginate q en el textbox pone esto:
CitarHOLAasfksdahnfkdsa
sdagfsda
gsdg
dsdgsgsdgHOLA

Cuando le des al boton deberia kedarte esto:
Citar¬¬'asfksdahnfkdsa
sdagfsda
gsdg
dsdgsgsdg¬¬'

Pues haz eso con un archivo en vez de con el cuadro de texto xDD
#727
Si  :xD :xD es por q malloc me resulta mas comodo q new  :xD :xD ademas e aprendido con google, nunca me han dado clases ni nada por el estilo, por lo q no te extrañe q haga mezclas de este estilo  :-(
#728
Bueno, pues como veo que hay dudas respecto a esto en el foro (y yo necesitaba hacerlo tambien :xD) me e decidido a compartir con vosotros un sencillo codigo que lista directorios y carpetas con las apis FindFirstFile y FindNextFile.
Espero que os sea util ;)

ACTUALIZADO Y MEJORADO:
Código (cpp) [Seleccionar]

//////////////////////////////
//  Listando directorios y  //
//  carpetas de una ruta    //
//  By E0N                  //
//////////////////////////////

#include <iostream>
#include <windows.h>

using namespace std;


void listarDirectorio(char* dir)
{
    WIN32_FIND_DATA findFileData;
    HANDLE          hFind;

    strcat (dir,"\\*");

    hFind = FindFirstFile(dir, &findFileData);

    if (hFind == INVALID_HANDLE_VALUE)
    std::cout << "Ruta incorrecta";
    else
    {
std::cout << findFileData.cFileName << '\n'; //El primer fichero
     
        // Listamos todos los ficheros restantes
        while (FindNextFile(hFind, &findFileData) != 0)
std::cout << findFileData.cFileName << '\n';
    }
}

void main()
{
char* dir = new char[MAX_PATH];

        cout << "Introduzca el nombre de la ruta a explorar: ";
        cin  >> dir;
cout << "\n\n";

listarDirectorio(dir);

delete(dir);
}



Código viejo:
#include <stdio.h>
#include <iostream>
#include <windows.h>

#define BUFSIZE MAX_PATH

void main()
{
   WIN32_FIND_DATA FindFileData;
   HANDLE hFind = INVALID_HANDLE_VALUE;
   LPSTR Dir;
   Dir = (LPSTR) malloc (BUFSIZE);

   std::cout << "Introduzca el nombre de la ruta a explorar: ";
   std::cin >> Dir;
   
   strcat (Dir,"\\*"); //Le añadimos un \* al final de la ruta para que pueda listar los direcrorios bien

   hFind = FindFirstFile(Dir, &FindFileData);

   if (hFind == INVALID_HANDLE_VALUE)
   {
      std::cout << "Ruta incorrecta" << '\a';
   }
   else
   {
      std::cout << FindFileData.cFileName << '\n'; //El primer fichero
     
      // Listamos todos los ficheros del directorio
      while (FindNextFile(hFind, &FindFileData) != 0) //Mientras q la funcion q lista el siguiente fichero, es decir
                                                    //FindNextFile, no nos devuelva nulo...
      {
        std::cout << FindFileData.cFileName << '\n'; //...listamos el resto de ficheros y directorios
      }
   }
   free(Dir);
}


1S4ludo
#729
Si se puede, se llama sniffer.
Nunca e hecho uno, asi q no puedo aconsejarte como hacerlo, pero googlea ya sabiendo como se llama y seguro q algo encuentras xD
#730
Hola, no es necesario todo eso. Veras, la tecnica mas empleada en estos casos es usar un caracter para hacer un split, me explico:

Tu por ejemplo desde el cliente envias esto al server:
ws.sendata "Ejecuta|C:\exec.bat"

Y en la llegada del server partes esos datos por el "|" con un split:
Winsock1.GetData datos
Partes = split(datps, "|")


Asi en Partes(0) te kedaria "Ejecuta", q seria la cadena q tendrias q comparar:
select case Partes(0)
case "Ejecuta"
'Aki lo q kieras hacer, en este caso seria algo asi
Shell parte(1)


Ya que en parte(1) estaria guardada la ruta, es decir C:\exec.bat.

Asi puedes hacer cualkier opcion ;)
1S4ludo