Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [Pascal] MS-DOS Prompt (https://forum.scholieren.com/showthread.php?t=264522)

dd666 30-10-2002 22:00

[Pascal] MS-DOS Prompt
 
Hoe kan ik in Turbo Pascal een commando geven zoals in de DOS prompt, zoals 'ipconfig'?

Alvast bedankt,
DD - Thei

McMotion 30-10-2002 22:39

Exec()

dd666 30-10-2002 22:45

Ehh, McMotion...
Dat is heel vriendelijk van je, maar ik volg er (ook met die weirde hulp van Turbo Pascal) geen malle moer van :confused:
Zou je ietsje duidelijker kunnen zin met wat ik moet invullen, een voorbeeld ofzow zou handig zijn :)

Toch bedankt!

Gr33tz,
DD - Thei

jungle_brother 31-10-2002 08:58

program jemoer;

uses crt, dos;

begin
swapvectors;
exec ('c:\windows\calc.exe', '');
swapvectors;
end.

Talon 01-11-2002 11:01

of kijk in de help..
daar staat het ook in, zelfs met voorbeelden..
rtfm..

dd666 01-11-2002 16:08

Citaat:

Talon schreef:
of kijk in de help..
daar staat het ook in, zelfs met voorbeelden..
rtfm..


Ja, kijk, dat bedoel ik nou :( Daar kom ik echt niet wijs uit man! :(

Wat ik nou eigenlijk wil, is dat via dat programma de volgende regel wordt uitgevoerd:

net send [IP#] message

Alvast bedankt!

Talon 01-11-2002 19:31

uh..
dus je zit op school, leert net pascal, en je wilt over je schoolnetwerk mensen lastig vallen met berichtjes ;)

dd666 02-11-2002 00:13

Citaat:

Talon schreef:
uh..
dus je zit op school, leert net pascal, en je wilt over je schoolnetwerk mensen lastig vallen met berichtjes ;)

Nee, niet via het schoolnetwerk, daar zit al zo'n progje op. Maar ik wilde graag 'n progje schrijven dat meerdere berichtjes tegelijk sturen, met zo'n herhalings-loop... :)

Maar 't lijkt dat ook jij niet weet hoe ik dat moet doen??

McMotion 02-11-2002 13:48

Citaat:

dd666 schreef:
Wat ik nou eigenlijk wil, is dat via dat programma de volgende regel wordt uitgevoerd:

net send [IP#] message

Alvast bedankt!

ja dikke lul met jou! 2 mensen hebben al verteld hoe je het moet doen... kijk even iets verder dan je neus lang is ok!? :mad:

Kermit the frog 02-11-2002 19:44

You are thinking evil thoughts - I can tell :D
Ik heb even snel een programma voor je gemaakt die dit moet kunnen. Ik had geen tijd om het te testen, en er zullen ook wel wat bugs inzitten. Maar goed. Good old PASCAL (Gebruik deze allang niet meer sinds we C++ (y) krijgen).

Net Storm

Hier is broncode....

PHP-code:

{*
  
Net Storm network message sender by KermitEncapsulation of the
  NET SEND command
Original content converted from C++ to PASCAL.

  [
email]kermitrules@hotmail.com[/email]
*}

program netstorm;

{
$M $4000,0,}

uses CrtDos;

const
     
Const_All '*';
     
Const_Domain '/DOMAIN: ';
     
Const_Multi '/USERS ';

type
    TSendType 
= (stUserstAllstDomainstMulti);

    
TSender Object
            E_Prog
String;
            
E_MessageString;
            
E_LoopInteger;
            
E_DelayInteger;
            
procedure Send (SendTypeTSendType);
    
end;

    
TUI Object
        Sender
TSender;
        
st_OptionString;
        
SendTypeTSendType;
        
procedure Flash;
        
procedure Execute;
    
end;

procedure TSender.Send (SendTypeTSendType);

var
   
in_KeyChar;
   
in_LineString;
   
iInteger;

begin
     SwapVectors
;
     case 
SendType of
          stUser
begin
                       Write 
('#Specify username: ');
                       
ReadLn (in_Line);
                       
Write ('#Proceed with message broadcast? Press Y or N: ');
                       
ReadLn (in_Key);
                       if 
UpCase (in_Key) = 'Y' then
                          
for i:=1 to E_Loop do
                          
begin
                               Exec 
(E_Progin_Line+' '+E_Message);
                               
Write ('.');
                               
Delay (E_Delay);
                          
end;
                  
end;
          
stAllbegin
                      Write 
('#Proceed with message broadcast? Press Y or N: ');
                      
ReadLn (in_Key);
                      if 
UpCase (in_Key) = 'Y' then
                         
for i:=1 to E_Loop do
                         
begin
                              Exec 
(E_ProgConst_All+' '+E_Message);
                              
Write ('.');
                              
Delay (E_Delay);
                         
end;
                 
end;
          
stDomainbegin
                         Write 
('#Specify domain: ');
                         
ReadLn (in_Line);
                         
Write ('#Proceed with message broadcast? Press Y or N: ');
                         
ReadLn (in_Key);
                         if 
UpCase (in_Key) = 'Y' then
                            
for i:=1 to E_Loop do
                            
begin
                                 Exec 
(E_ProgConst_Domain+in_Line+' '+E_Message);
                                 
Write ('.');
                                 
Delay (E_Delay);
                            
end;
                    
end;
          
stMultibegin
                        Write 
('#Specify users: ');
                        
ReadLn (in_Line);
                        
Write ('#Proceed with message broadcast? Press Y or N: ');
                        
ReadLn (in_Key);
                        if 
UpCase (in_Key) = 'Y' then
                           
for i:=1 to E_Loop do
                           
begin
                                Exec 
(E_ProgConst_Multi+in_Line+' '+E_Message);
                                
Write ('.');
                                
Delay (E_Delay);
                           
end;
                   
end;
     
end;
     
SwapVectors;
end;

procedure TUI.Flash;
begin
     ClrScr
;
     
TextColor (2);
     
WriteLn ('                        #########'+Chr (255)); Delay (80);
     
WriteLn ('                    ####         ###  ########'+Chr (255)); Delay (80);
     
WriteLn ('                  ##                ##++++++++#####'+Chr (255)); Delay (80);
     
WriteLn ('                 #     ########       #++++++++++++##########'+Chr (255)); Delay (80);
     
WriteLn ('                #     #######         ##++++++++###          ###'+Chr (255)); Delay (80);
     
WriteLn ('               #    #######          ##++++++++#                ##'+Chr (255)); Delay (80);
     
WriteLn ('               #   ##              ##+++++++++++#     ####        #'+Chr (255)); Delay (80);
     
WriteLn ('              #                ####++++++++++++++#      ######     #'+Chr (255)); Delay (80);
     
WriteLn ('              #             ###+++++++++++++++++++#      #####      #'+Chr (255)); Delay (80);
     
WriteLn ('            ##+###    ######+++++++++++++++++++++++#     #####      #'+Chr (255)); Delay (80);
     
WriteLn ('           #++++++####++++++++++++++++++++++++++++++#       ###     #'+Chr (255)); Delay (80);
     
WriteLn ('         ##++++++++++++++++++++++++++++++++++++++++++##      ##     #'+Chr (255)); Delay (80);
     
WriteLn ('       ##++++++++++++++++++++++++++++++++++++++++++++++##          ##'+Chr (255)); Delay (80);
     
WriteLn ('      #++++++++++++++++++++++++++++++++++++++++++++++++++###      #++#'+Chr (255)); Delay (80);
     
WriteLn ('     #++++++++++++++++++++++++++++++++++++++++++++++++++++++######++++#'+Chr (255)); Delay (80);
     
WriteLn ('    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#'+Chr (255)); Delay (80);
     
WriteLn ('    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#'+Chr (255)); Delay (80);
     
WriteLn ('   #++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#'+Chr (255)); Delay (80);
     
WriteLn ('   #++++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#'+Chr (255)); Delay (80);
     
WriteLn ('   #+++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#'+Chr (255)); Delay (80);
     
WriteLn ('   #+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##+++++#'+Chr (255)); Delay (80);
     
WriteLn ('    #+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++#'+Chr (255)); Delay (80);
     
WriteLn ('    #+++#+++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++#'+Chr (255)); Delay (80);
     
WriteLn ('     #+++#++#XX###++++++++++++++++++++++++++++++++++++++++++++++++++++#++++#'+Chr (255)); Delay (80);
     
WriteLn ('      #++++++##xx####++++++++++++++++++++++++++++++++++++++####++++++##+++#'+Chr (255)); Delay (80);
     
WriteLn ('       #+++++++#xxxxx#####+++++++++++++++++++++++++++######XX#++++++##+++#'+Chr (255)); Delay (80);
     
WriteLn ('        #+++++++#xxxxxxxxx########++++++++++#########xxxxxx##++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('         ##++++++#xxxxxxxxxxxxxxxx##########xxxxxxxxxxxxx##+++++++++++#'+Chr (255)); Delay (80);
     
WriteLn ('           #++++++##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx###+++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('            #+++++++#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx##++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('             #+++++++#xxxxxxxxxxxxxxxxxxxxxxxxxxxx##++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('              #+++++++##xxxxxxxxxxxxxxxxxxxxxxxx##++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('               ##+++++++#xxxxxxxxxxxxxxxxxxxxx##++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                 ##++++++##xxxxxxxxxxxxxxxxx##++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                   ##++++++##xxxxxxxxxxxxx##++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                     ##++++++###xxxxxxx###++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                       ##+++++++#######+++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                         ##+++++++++++++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                           ##+++++++++++++++++++##'+Chr (255)); Delay (80);
     
WriteLn ('                             ##+++++++++++++####'+Chr (255)); Delay (80);
     
WriteLn ('                               #############'+Chr (255)); Delay (80);
     
WriteLn ('It'+Chr (39)+'s Kermit!');
     
WriteLn ('');
     
WriteLn ('Welcome to Net Storm network message sender!');
     
WriteLn ('Post your stupid question to [email]kermitrules@hotmail.com[/email]');
     
WriteLn ('I am not responsible for any kind of mischievous use :)');
     
WriteLn ('USE THIS FOR EDUCATIONAL PURPOSES ONLY!');
     
WriteLn ('');
     
TextColor (15);
end;

procedure TUI.Execute;

var
   
in_Optionin_PCInteger;
   
in_Loopin_DelayString;

begin
     Flash
;
     
Write ('#Please specify a full path to NET.EXE: ');
     
ReadLn (Sender.E_Prog);
     
WriteLn ('#Choose one option: ');
     
WriteLn ('[1] User');
     
WriteLn ('[2] All');
     
WriteLn ('[3] Domain');
     
WriteLn ('[4] Multi');
     
ReadLn (st_Option);
     
Val (st_Optionin_Optionin_PC);
     case 
in_Option of
          1
SendType := stUser;
          
2SendType := stAll;
          
3SendType := stDomain;
          
4SendType := stMulti;
     else
         
SendType := stAll;
     
end;
     
Write ('#Type a new message: ');
     
ReadLn (Sender.E_Message);
     
Write ('#Multi broadcast: ');
     
ReadLn (in_Loop);
     
Val (in_LoopSender.E_Loopin_PC);
     
Write ('#Broadcast delay (ms): ');
     
ReadLn (in_Delay);
     
Val (in_DelaySender.E_Delayin_PC);
        
Sender.Send (SendType);
end;

var
   
UITUI;

begin
     UI
.Execute;
     
WriteLn ('Bye bye!');
end


D1984 03-11-2002 21:59

Citaat:

dd666 schreef:
Nee, niet via het schoolnetwerk, daar zit al zo'n progje op. Maar ik wilde graag 'n progje schrijven dat meerdere berichtjes tegelijk sturen, met zo'n herhalings-loop... :)

Waarom dat een turbo pascal programma, kan toch gewoon lekker simpel met een *.bat bestand?

gewoon zo:


@echo off
net send IP bericht
call ditbestand.bat


bovenstaande bestand opslaan als ditbestand.bat, succes verzekerd en getest! :D wat de systeembeheerder overigens niet leuk vond omdat ik een * had gebruikt bij IP :)

Wil je het toch in Pascal doen, op deze site:

http://www.dickmann.org/pascal/misc.htm

kun een example downloaden, en nog veel meer turbo pascal voorbeelden

McMotion 04-11-2002 15:46

Citaat:

D1984 schreef:
@echo off
net send IP bericht
call ditbestand.bat

bovenstaande bestand opslaan als ditbestand.bat, succes verzekerd en getest! :D wat de systeembeheerder overigens niet leuk vond omdat ik een * had gebruikt bij IP :)

succes verzekerd om je geheugen vol mee te pompen jah :confused:

Kermit the frog 05-11-2002 21:44

Ik heb een nieuwe versie gemaakt, die het wel doet onder NT, 2000 en XP..... Probeer deze maar eens.....

Net Storm v2.0

Dit is een “overlay” van de NETAPI32.DLL. Je hoeft nu dus niet meer de locatie van NET.EXE op te geven.... (y)

http://members.lycos.nl/nemessis1/nssh.jpg


Alle tijden zijn GMT +1. Het is nu 15:14.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.