Avatar billede kewl Nybegynder
01. august 2001 - 21:08 Der er 16 kommentarer og
1 løsning

HASTER !! Simpelt program ønskes fremstillet

Jeg har brug for at få lavet et lille program som skal tage ip adressen fra min maskine, og skrive det til en fil på 2 linjer som skal ligge i roden af C: drevet.

Filen skal se således ud uden ***

***********Fil START********
[WFClient]
ClientName=IPADRESSE
***********FIL SLUT*********

Filen skal automatisk overskrive evt. eksisterne fil uden at spørge brugeren.

Da det er en hastesag, vil jeg meget gerne vide hurtigst muligt om der er nogen som vil gå i gang med at lave programmet.
Avatar billede kewl Nybegynder
01. august 2001 - 21:09 #1
UPS.

Filen som skal lægges i roden af C: drevet skal hedde \"WFCNAME.INI\"
Avatar billede jander Nybegynder
01. august 2001 - 21:10 #2
Jeg vil ikke - og især ikke for sølle 300 pts!
/jander
Avatar billede kewl Nybegynder
01. august 2001 - 21:19 #3
hvor mange point vil du da have for det, hvis jeg skal have det om 30 min. ???
Avatar billede abpdk Nybegynder
01. august 2001 - 22:02 #4
Jeg har lavet programmet, dog ikke i C/C++ men i Delphi. Håber ikke det gør nogen forskel.

MVH
abpdk
Avatar billede abpdk Nybegynder
01. august 2001 - 22:12 #5
Her er et link
http://www.geocities.com/abp_me/Project1.zip

Den udskriver godt nok alle ip addresser, hvis det skal ændres så sig lige til:

eksempel:
[WFClient]
192.168.xxx.001
192.168.xxx.002


Avatar billede kewl Nybegynder
02. august 2001 - 08:43 #6
abpdk, bare at det virker i et logon script, så er det fint med mig, du kan prøve at maile til mig på mkj@sol.dk
Avatar billede borrisholt Novice
02. august 2001 - 09:09 #7
prøv der her :

#include <winsock.h>


void MachineIP(char *result)
{
  WSADATA WSAData;
  WSAStartup(MAKEWORD(1,1), &WSAData);
  char dot[6];
  int iResult;
  int i = 0;
  u_long *ppIpNO;
  u_long *pIpNO;
  HOSTENT FAR *lphostent;
  u_long ipHO;
  unsigned char binIp[4];
  int iterations = 0;

  //Get local host name and crudely validate
  char szHostName[100];
  *result = 0;

  iResult = gethostname(szHostName, sizeof(szHostName));
  // printf(\"%d %s\",iResult,szHostName);
  if ((iResult != 0) || (lstrcmp(szHostName, \"\")==0))
  return;

  //Lok up this host info via supplied name
  lphostent = gethostbyname(szHostName);
  if (lphostent == NULL)
    return;

    //Retreive first entry (might have multiple connects)
  do
    {
    iterations++;
    ppIpNO = (u_long *)lphostent->h_addr_list;
    if (ppIpNO+i == NULL)
      return;
   
        pIpNO = ((u_long *)*(ppIpNO+i));
    if (pIpNO == NULL)
      return;

    //convert back to host order, since SOCKADDR_IN expects that
    ipHO = ntohl(*pIpNO);

        binIp[0] = (BYTE)((ipHO & 0xff000000) >> 24);
        itoa(binIp[0], dot, 10);
        strcat(result,dot);
        binIp[1] = (BYTE)((ipHO & 0x00ff0000) >> 16);
        itoa(binIp[1], dot, 10);
        strcat(result, \".\"); strcat(result, dot);
        binIp[2] = (BYTE)((ipHO & 0x0000ff00) >> 8);
        itoa(binIp[2], dot, 10);
        strcat(result, \".\"); strcat(result, dot);
        binIp[3] = (BYTE)(ipHO & 0x000000ff);
        itoa(binIp[3], dot, 10);
        strcat(result,\".\"); strcat(result, dot);
        strcat(result,\"\\r\\n\");

        i++;
} while ((pIpNO != NULL) && (iterations < 6));

WSACleanup();
//    PostQuitMessage(0);
return;
}




int main(int argc, char* argv[])
{
    char IP[30];
    MachineIP(&IP[0]);
   
    printf(IP);
    return 0;
}



Jens B
Avatar billede kewl Nybegynder
02. august 2001 - 09:12 #8
Det er fint nok med koden, gider du sende den pakkede eksekverbar fil ? tol mkj@sol.dk
Avatar billede borrisholt Novice
02. august 2001 - 09:14 #9
kewl>> 2 min .. Så skal jeg lige lave dit fil sjov ....

Jens B
Avatar billede kewl Nybegynder
02. august 2001 - 09:23 #10
Genialt det virker jo perpekt, 1000 TAK
Avatar billede abpdk Nybegynder
02. august 2001 - 18:14 #11
Hvad var der galt med mit program?? OK det var ikke C/C++ men når du kun ber om et program som .exe kan det vel være ligemeget. Og når jeg så tilmed forsøgte af lave det så hurtigt som muligt!!!!!
Avatar billede kewl Nybegynder
03. august 2001 - 08:43 #12
Jeg ved godt at du var først med en fil, men den var ikke rigtig
Avatar billede abpdk Nybegynder
03. august 2001 - 15:38 #13
Hvad var forkert?
Avatar billede abpdk Nybegynder
05. august 2001 - 00:03 #14
Synes du virklig ikke at jeg fortjener en forståelig forklaring!!!!!!!!!!????
Bare en smule uddybelse af \"den var ikke rigtig\".

Glem point\'ene dem er jeg ligeglad, men når jeg sætter mig ned en aften og forsøger at overholde din \"deadline\" (hvilket i øvrigt er en joke når du ikke engang tjekker samme dag) synes jeg kun det er rimeligt at jeg får at vide hvad der var galt.

M(V)H
abpdk

Avatar billede kewl Nybegynder
05. august 2001 - 09:50 #15
abqdk, Problemet med dit program var at den skrev ip adresserne på den forkerte linje.
Avatar billede abpdk Nybegynder
05. august 2001 - 12:49 #16
Det kunne som sagt rettes på 2 sek. men lad os droppe sagen :)
Avatar billede kewl Nybegynder
10. august 2001 - 13:05 #17
borrisholt, jeg tænkte på om det er muligt at få lavet en lille ændring, i IP.exe, problemet er

i stedet for at den (.)punktum seperer ipadressen

om den kan laves således

F.eks, 192.168.0.15, skal se således ud.

[WFClient]
ClientName=192168001015

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester