Russian LinkExchange Advertising Network

     Visual Basic Script - îñíîâû ïðîãðàììèðîâàíèÿ

Âñå ïðèìåðû ñêðèïòîâ äåéñòâóþò òîëüêî â MSIE 4.x!
 êîíöå ñòàòüè åñòü ëîãè÷åñêàÿ èãðà Èíâåðñèÿ!

Ïðåäèñëîâèå.

ß íå îøèáóñü, åñëè íàçîâó Áåéñèê (BASIC - Begginners Allpurpose Symbolic Instruction Code, ò.å ñèìâîëè÷åñêèé êîìàíäíûé óíèâåðñàëüíûé êîä äëÿ íà÷èíàþùåãî :) ñàìûì ïðîñòûì ÿçûêîì ïðîãðàììèðîâàíèÿ. Äàæå ïðè íåáîëüøîì îïûòå, ïðîãðàììû ìîæíî ïèñàòü ïðàêòè÷åñêè íå çàäóìûâàÿñü. Ñâîþ èñòîðèþ ýòîò ÿçûê ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ íà÷àë â äàëåêîì 1963 ãîäó. Èìåííî òîãäà íåáîëüøîé ãðóïïîé ñòóäåíòîâ ïîñëåäíåãî êóðñà Äîðòìóòñêîãî êîëëåäæà ïîä ÷óòêèì ðóêîâîäñòâîì ïðîôåññîðà Äæ. Êåìåíè è áûëà ðàçðàáîòàíà ñàìàÿ ïåðâàÿ âåðñèÿ ýòîãî ÿçûêà.  òî âðåìÿ, ïîìèìî Áåéñèêà, øèðîêî áûëè ðàñïðîñòðàíåíû òàêæå Fortran, Cobol, Algol, PL/1, Focal è Pascal. Èç íèõ, äî íàñòîÿùåãî âðåìåíè äîæèëè, ïîæàëóé ëèøü Ïàñêàëü è Áåéñèê, ñèëüíî èçìåíèâøèñü ïðè ýòîì.

Êàê ýòî íå ïðèñêîðáíî äëÿ ÿðûõ ïðîòèâíèêîâ Microsoft, íî èìåííî ýòà êîìïàíèÿ ñïîñîáñòâîâàëà øèðîêîìó ðàñïðîñòðàíåíèþ Áåéñèêà (âñïîìíèì Quick Basic). Ïî ìîåìó îïûòó ïèñàòü íà íåì áûëî óäîáíåå, ÷åì íà Turbo Bacic êîìïàíèè Borland, êîòîðàÿ áîëåå èçâåñòíà ïî ÿçûêó C++. Ïîâñåìåñòíàÿ "Âèíäóàëèçàöèÿ" PC êîìïüþòåðîâ, âûíóäèëà ê ðàçðàáîòêå âåðñèè Áåéñèêà äëÿ Windows ïðèëîæåíèé. Òàêèì êëîíîì â 1991 ãîäó ñòàë Visual Basic, ïîçâîëÿþùèé âèçóàëüíî ñîçäàâàòü ïðèêëàäíûå ïðîãðàììû, äîâîëüíî ïðèëè÷íîãî óðîâíÿ. Íî âñå æå, ïî ìîåìó ìíåíèþ, èç çà ïðîñòîòû Visual Basic ñäàåò ñâîè ïîçèöèè òåì æå Ñè è Java. Ñ ïîÿâëåíèåì âñåìèðíîé ñåòè Internet, è ÿçûêà HTML ñòàëî âîçìîæíûì ñîçäàíèå àêòèâíûõ ïðèëîæåíèé íà âåá ñòðàíèöàõ. Åäèíñòâåííûì ÿçûêîì äëÿ ýòèõ öåëåé áûë Java Script. Äà, èìåííî áûë. Êîãäà ñâåò óâèäåë Microsoft Internet Explorer 3.0, â íåì, ïîìèìî ïîääåðæêè Java script ïîÿâèëàñü è ïîääåðæêà Visual Basic Scripting Edition, èëè ïðîñòî VBscript. Êàê èçâåñòíî, JavaScript áûë ðàçðàáîòàí Netscape è ïîíà÷àëó ñòàë èçâåñòåí êàê LiveScript. Ïîñëå øóìèõè âîêðóã Java, Netscape ïåðåèìåíîâàëà åãî â JavaScript, êîãäà ïîëó÷èëà ëèöåíçèþ îò Sun. Microsoft ñàìîñòîÿòåëüíî ðàçðàáîòàëà JScript äëÿ ñâîåãî áðîóçåðà, çà ÷òî ïðàâäà òîæå íå èçáåæàëà ðàçáèðàòåëüñòâ ñ Sun.

Êðîìå Java, MSIE3.0 (è âûøå), ìîæåò åùå è èñïîëíÿòü ïðîãðàììû íà VBScript. Netscape Navigator íå ïîääåðæèâàåò ïîêà (íàäåþñü, ÷òî ïîêà) VBScript, ïîýòîìó ýòîò ÿçûê íå î÷åíü øèðîêî ïðèìåíÿåòñÿ, à ìíîãèì äàæå íå èçâåñòåí. À æàëü, ÷åëîâåêó óìåþùåìó ïèñàòü íà îáû÷íîì QB äîñòàòî÷íî ìåñÿöà, à òî è ìåíüøå, ÷òîáû ïåðåéòè íà VBscript è ñîçäàâàòü êðàñèâûå àêòèâíûå âåá ñòðàíèöû, íè ÷åì íå óñòóïàþùèå ñòðàíèöàì ñ JavaScript è äàæå âî ìíîãèì ïðåâîñõîäÿùèå èõ. Ïîýòîìó, åñëè ñ íàäåæäîé ñìîòðåòü â áóäóùåå, òî èçó÷èòü VBScript ìîæíî óæå ñåé÷àñ.  ýòîé ñòàòüå ÿ ïîïûòàþñü ðàññêàçàòü îñíîâû VBScript, íå âäàâàÿñü â òîíêîñòè. Ìîÿ öåëü, òîëüêî çàèíòåðåñîâàòü ðÿäîâîãî ïîëüçîâàòåëÿ è íà÷èíàþùèõ WebÄèçàéíåðîâ. Âîò è âñå èç èñòîðèè:) Íà÷íåì.


Cðàâíåíèå VBScript è JavaScript.

Ïðåæäå ÷åì íà÷èíàòü ïîçíàâàòü VBScript, äàâàéòå ñðàâíèì äâå îäèíàêîâûå, ïðîñòûå ïðîãðàììû íà JS è VBS. Ýòî áóäåò ïîëåçíûì äëÿ òåõ, êòî çíàåò JavaScript (ê êîèì ÿ íå îòíîøóñü:(.
Ñóòü ïðîãðàììû: ââîäèì òåêñò â âåðõíåå ïîëå, íàæèìàåì êíîïêó "Ñêîïèðîâàòü" è òåêñò êîïèðóåòñÿ â íèæíåå ïîëå.

Java Script VB Script





<FORM NAME=forma>
<INPUT TYPE="text" NAME="text1"><BR>
<INPUT TYPE="text" NAME="text2"><BR>
<INPUT TYPE="button" NAME="knopka" VALUE="Ñêîïèðîâàòü" OnClick=copyfun()>
</FORM>

<SCRIPT LANGUAGE="JavaScript">

function copyfun()
{
var copytext;
copytext=document.forma.text1.value;
document.forma.text2.value=copytext;
}

</SCRIPT>

<FORM NAME=forma>
<INPUT TYPE="text" NAME="text1"><BR>
<INPUT TYPE="text" NAME="text2"><BR>
<INPUT TYPE="button" NAME="knopka" VALUE="Ñêîïèðîâàòü" OnClick=copyfun()>
</FORM>

<SCRIPT LANGUAGE="VBScript">

sub copyfun

dim copytext
copytext=document.forma.text1.value
document.forma.text2.value=copytext
end sub

</SCRIPT>

Äà, êàê âèäíî, ðàçëè÷èé ïðàêòè÷åñêè íåò. JS ïîääåðæèâàåò òîëüêî ôóíêöèè, VBS è ôóíêöèè è ïðîöåäóðû (ïîäïðîãðàììû). Òàê æå ñëåäóåò îòìåòèòü, ÷òî VBS îòëè÷èå îò JS íå ÷óâñòâèòåëåí ê ðåãèñòðó ñèìâîëîâ, ò.å. äëÿ íåãî ÷òî copyfun(), ÷òî CoPYfuN() - îäèí ïåñ:). Òàê ÷òî ìîæåòå ñäåëàòü âûâîäû, òåì, êòî çíàåò ÿâà ñêðèïò, áóäåò ëåãêî îñâîèòü VBS, à òåì êòî íå çíàåò ïîêà íè òîãî íå äðóãîãî áóäåò åùå ëåã÷å, ïîñêîëüêó ïåðåó÷èâàòüñÿ íå ïðèäåòñÿ. Ó÷èòüñÿ ëó÷øå íà ïðèìåðàõ, ïîýòîìó ïîñòàðàþñü èõ çäåñü ïðèâîäèòü ïîáîëüøå. ß íàäåþñü, ÷òî Âû õîòÿ áû óìååòå ïèñàòü ïðîãðàììû íà îáûêíîâåííîì Áåéñèêå (QB èëè TB)? Òîãäà ýòà ñòàòüÿ èìåííî äëÿ Âàñ.


Îò QuickBasic äî VBscript - îäèí øàã.

Íà÷íåì èçó÷åíèå íå ñòàíäàðòíûì ïîäõîäîì. Îáû÷íî ñíà÷àëà âñå ïèøóò ïðîãðàììó, âûâîäÿùóþ íà ýêðàí ñòðîêó "ÏÐÈÂÅÒ ÏÈÏËÛ :)" Ìû æå ïîïðîáóåì ïåðåâåñòè îáû÷íóþ "Áåéñèêîâñêóþ" ïðîãðàììó - íà VBscript, ÷òîáû ïîêàçàòü - êàê ìåæäó íèìè ìíîãî îáùåãî.
Ïîñòàâèì çàäà÷ó, íàïèñàòü ïðîãðàììó, êîòîðàÿ áû ñëó÷àéíûì îáðàçîì çàãàäûâàëà ÷èñëî îò 1 äî 100, è ïðåäëàãàëà Âàì åãî óãàäàòü. Ïðè íåïðàâèëüíîì ïðåäïîëîæåíèè, ïðîãðàììà äîëæíà âûâîäèòü ñîîáùåíèå î òîì, áîëüøå çàãàäàííîå ÷èñëî èëè ìåíüøå. Âåäåòñÿ ïîäñ÷åò ïîïûòîê.  ñëó÷àå ïîáåäû âûâîäèòñÿ ïîçäðàâëåíèå.

Ïðîãðàììà íà îáû÷íîì Áåéñèêå:



10 CLS : RANDOMIZE

20 a = INT ( RND(1)*100+1 ) : p = 1

30 PRINT "Çàãàäàíî ÷èñëî îò 1 äî 100, óãàäàéòå åãî:)"

40 PRINT "Âàø âàðèàíò";

50 INPUT v

60 IF a > v THEN PRINT "Çàãàäàííîå ÷èñëî áîëüøå" :

      p = p + 1 : GOTO 40

70 IF a 

Êàê âèäèòå, òàêàÿ ïðîãðàììà ïîøëà áû äàæå íà ÁÊ0010:) ß äàæå îñòàâèë íåíàâèñòíûå îïåðàòîðû GOTO (èíòåðåñíî, îá íèõ åùå ïîìíÿò?). Äëÿ òåõ êòî íå ïîíèìàåò, îïèøó àëãîðèòì:



10 î÷èñòêà ýêðàíà è âêëþ÷åíèå ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë.

20 ïåðåìåííîé "a" ïðèñâàèâàåòñÿ öåëîå ñëó÷àéíîå çíà÷åíèå

  îò 1 äî 100, ñ÷åò÷èêó ÷èñëà ïîïûòîê ïðèñâàèâàåòñÿ 

  çíà÷åíèå=1.

30, 40 âûâîäèòñÿ ñîîáùåíèå.

50 ââîä Âàøåãî âàðèàíòà "v".

60 åñëè çàãàäàííîå ÷èñëî áîëüøå Âàøåãî âàðèàíòà, òî

   âûâîäèòñÿ ñîîáùåíèå, íà åäèíèöó óâåëè÷èâàåòñÿ ñ÷åò÷èê

   ïîïûòîê è ïðîãðàììà îòïðàâëÿåòñÿ íà ñòðîêó 40.

70 åñëè çàãàäàííîå ÷èñëî ìåíüøå Âàøåãî âàðèàíòà, òî 

   âûâîäèòñÿ ñîîáùåíèå, íà åäèíèöó óâåëè÷èâàåòñÿ ñ÷åò÷èê

   ïîïûòîê è ïðîãðàììà îòïðàâëÿåòñÿ íà ñòðîêó 40.

80 Åñëè ÷èñëà ñîâïàäóò òî âûâîäèòñÿ ïîçäðàâëåíèå, êñòàòè,

   ïî èäåå, ïðîâåðêó ýòîãî óñëîâèÿ ìîæíî è îïóñòèòü.

   90 THE END

Êîä òèïè÷íîé ñòðàíèöû ñî ñêðèïò ïðîãðàììîé áóäåò âûãëÿäåòü ïðèìåðíî òàê:

<html>

<head>
<title>Óãàäàé ÷èñëî</title>
</head>

<body bgcolor="white" text="black">

< ... html êîä ôîðìû âçàèìîäåéñòâèÿ ñ VB ïðîãðàììîé ... >

<script language="VBscript">
... êîä ïðîãðàììû ...
</script>

</body>
</html>

Èòàê, íàïèøåì ïðîãðàììó ðåàëèçóþùóþ çàäàííûå óñëîâèÿ ñ ïîìîùüþ VBscript


Íàæìèòå íà êíîïêó "Çàãàäàòü ÷èñëî" è óãàäàéòå åãî:)



Âàø âàðèàíò:


ÊÎÄ ÏÐÎÃÐÀÌÌÛ:

<FORM NAME=ugadai>
<INPUT TYPE="button" NAME="begin" VALUE="Çàãàäàòü ÷èñëî"><BR><BR>
Âàø âàðèàíò:<BR>
<INPUT TYPE="text" NAME="chislo"> <BR>
<INPUT TYPE="button" NAME="but" VALUE="Enter">
</FORM>

<!--************************* óãàäàé ÷èñëî ******************************-->

<script language="vbscript"><!--




dim a		' îïðåäåëÿåì ïåðåìåííûå

dim p

dim v



sub begin_onclick 	' ïðîöåäóðà ñðàáàòûâàþùàÿ ïðè íàæàòèè

			  (ñîáûòèå onclick)

			' êíîïêè ñ èìåíåì begin

 randomize		' âêëþ÷åíèå ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë

 a=int(rnd(1)*100+1)	' ïðèñâàèâàíèå ïåðåìåííîé (a) ñëó÷àéíîãî

			  çíà÷åíèÿ

 p = 1			' îáíóëåíèå ñ÷åò÷èêà

 alert "÷èñëî çàãàäàíî" ' âûâîä ñîîáùåíèÿ â îòäåëüíîì îêíå 

end sub			' êîíåö ïðîöåäóðû



sub but_onclick		' ïðîöåäóðà ñðàáàòûâàþùàÿ ïðè íàæàòèè

			 (ñîáûòèå onclick) êíîïêè ñ èìåíåì but



 v = document.ugadai.chislo.value 



' ïåðåìåííîé (v) ïðèñâàèâàåòñÿ çíà÷åíèå 

' ñîäåðæàùååñÿ â ïîëå ââîäà ôîðìû

' ïóòü: äîêóìåíò (ïðîñòî ýòà html ñòðàíèöà).ôîðìà ñ èìåíåì ugadai.

' îáúåêò- ïîëå äëÿ ââîäà ñ èìåíåì chislo. ñâîéñòâî value



 v=cint(v)	' ïîñêîëüêó ïîëå äëÿ ââîäà ñîäåðæèò òåêñòîâóþ

		' èíôîðìàöèþ, òî ïåðåìåííóþ (v) íàäî ïðåîáðà-

 		' çîâàòü â öåëî÷èñëåííûé òèï (ôóíêöèÿ cint)



 if a > v then

   alert "çàãàäàííîå ÷èñëî áîëüøå, ïîïðîáóéòå åùå"

   p = p + 1

 end if



 if a < v then

   alert "çàãàäàííîå ÷èñëî ìåíüøå, ïîïðîáóéòå åùå"

   p = p + 1

 end if 

   

 if a = v then		  

   document.write"<center>Ïîáåäà çà "&p&" õîäîâ.</center>"

 end if

		' îïåðàòîð document.write âûâîäèò ñîäåðæàùóþñÿ

		' â êàâû÷êàõ èíôîðìàöèþ â íîâîå îêíî áðîóçåðà

		' êàê html êîä.

				

end sub

--></script>


Åñëè âäóìàòüñÿ è âíèìàòåëüíî èçó÷èòü ïðèâåäåííûé êîä, òî äóìàåòñÿ ìíîãîå ñòàíåò ÿñíûì. Îòâåòèì íà íåêîòîðûå âîïðîñû, êîòîðûå ìîãóò âîçíèêíóòü ïî õîäó îñìûñëåíèÿ ïðîãðàììû:

__×òî áû ïðîèçîøëî, åñëè áû ìû â íà÷àëå ñêðèïòà íå îáúÿâèëè ïåðåìåííûå? Òîãäà áû çíà÷åíèå ïåðåìåííîé "a" çàäàííîé â ïðîöåäóðå "sub begin_onclick" íå áûëî "âèäíî" â äðóãèõ ïðîöåäóðàõ (íàïðèìåð "sub but_onclick" ). Ýòî óïóùåíèå ïðèâåäåò èëè ê îøèáêå, èëè ê òîìó, ÷òî çíà÷åíèþ "a" íå áóäåò íè÷åãî ïðèñâîåíî. Ìîæíî òàêæå âîñïîëüçîâàòüñÿ îïåðàòîðîì "public a" âìåñòî "dim a" òîãäà çíà÷åíèå "a" ñòàíåò âèäíûì âî âñåõ îòêðûòûõ íà äàííûé ìîìåíò äîêóìåíòàõ, ýòî àêòóàëüíî ïðè ôðåéìîâîé ñòðóêòóðå. Åñëè íàïèñàòü "dim a(100)" òî áóäåò çàäàí ìàññèâ èç ñîòíè ïåðåìåííûõ "a", â òî÷íîñòè êàê â îáû÷íîì Áåéñèêå. Âî ìíîãèõ ñëó÷àÿõ ïåðåìåííûå ìîæíî è íå îáúÿâëÿòü, åñëè òåëî ïðîãðàììû íàõîäèòñÿ â îäíîé ïðîöåäóðå.

__×òî òàêîå ýòè ïðîöåäóðû? Ïðîöåäóðà ýòî îáùåå íàçâàíèå ôóíêöèé èëè ïîäïðîãðàìì. Èìååò ñèíòàêñèñ:
sub name_ñîáûòèå ....... end sub.
name - ýòî èìÿ ïðîöåäóðû, íàïðèìåð ìû íàïèñàëè, ÷òî êíîïêà "çàãàäàòü ÷èñëî" íàçûâàåòñÿ "chislo", çíà÷èò ïîäïðîãðàììà sub chislo_onclick âûïîëíèòñÿ ïðè íàæàòèè íà ýòó êíîïêó.
ñîáûòèå - òî, ÷òî ìîæåò "ñëó÷èòüñÿ" â îêíå áðîóçåðà. Íàïðèìåð "onclick" îçíà÷àåò, ÷òî ïðîöåäóðà âûïîëíèòñÿ, ïðè íàæàòèè íà êíîïêó, ïðåäâàðèòåëüíî çàäàííóþ â ôîðìå (êàê â íàøåì ñëó÷àå). Ñóùåñòâóåò íåñêîëüêî âèäîâ ñîáûòèé. Èç ñàìûõ ðàñïðîñòðàíåííûõ ìîæíî îòìåòèòü: window_onload - çàïóñêàåòñÿ ïðè ïîëíîé çàãðóçêå äîêóìåíòà:

<Script language="VBscript"><!--
Sub window_onload
Alert "Äîáðî ïîæàëîâàòü íà ìîþ äîìàøíþþ ñòðàíèöó!"
end sub
--></Script>

Ïðè çàãðóçêå äîêóìåíòà ïîÿâèòñÿ îêîøêî ñ äàííîé íàäïèñüþ è êíîïêîé ÎÊ

Ñîáûòèå onmouseover - âîçíèêàåò ïðè íàâåäåíèè óêàçàòåëÿ ìûøè íà ãèïåð ññûëêó.

Íàâåäèòå íà ýòó ññûëêó óêàçàòåëü ìûøè
Ïðèìåð:

<a href="http://wanderfly.da.ru/" name="link">
Íàâåäèòå íà ýòó ññûëêó óêàçàòåëü ìûøè</a>
<script language="vbscript"><!--
sub link_onmouseover
alert "ññûëêà"
end sub
--></script>

Ðàçóìååòñÿ, äàííûé ïðèìåð Âû ìîæåòå èñïîëüçîâàòü òîëüêî êàê øóòêó íà ññûëêó "xxx", ïîòîìó ÷òî íàæàòü íà íåå íåâîçìîæíî:) Íî åñëè ïîìåíÿòü alert "ññûëêà" íà status="Ìîÿ äîìàøíÿÿ ñòðàíèöà", òî ýòî ñîîáùåíèå ïîÿâèòñÿ â ñòðîêå ñòàòóñà.

__ Êàêîâ ïîëíûé ñèíòàêñèñ îïåðàòîðîâ óêàçûâàþùèõ êàê "äîáðàòüñÿ" äî äàííûõ â ïîëå ââîäà?

x = top.èìÿ_ôðåéìà.document.èìÿ_ôîðìû.èìÿ_îáúåêòà_text_box.value
Òàêèì îáðàçîì, ìîæíî äîáðàòüñÿ äî ëþáûõ äàííûõ â îêíå áðîóçåðà, äàæå åñëè îíè ðàñïîëîæåíû â äðóãîì ôðåéìå.

Ïîäâåäåì ïåðâûå èòîãè. VBscript ïåðåíÿë îò îáû÷íîãî Áåéñèêà áîëüøèíñòâî îïåðàòîðîâ è ôóíêöèé (ìàòåìàòè÷åñêèõ, ïðåîáðàçîâàíèÿ äàííûõ è ò.ä.). Îòëè÷èå âûðàæàåòñÿ â ñïåöèôè÷åñêèõ îïåðàòîðàõ ââîäà-âûâîäà èíôîðìàöèè èç îêíà áðîóçåðà è âîçìîæíûõ ñîáûòèÿõ, êîòîðûå ìîãóò "ñëó÷èòüñÿ" ïðè âçàèìîäåéñòâèè ïîëüçîâàòåëÿ è ñòðàíèöû.


Ñïðàâî÷íàÿ èíôîðìàöèÿ. Íåêîòîðûå îïåðàòîðû è ôóíêöèè.

×òîáû Âàì áûëî ëåã÷å ýêñïåðèìåíòèðîâàòü â íàïèñàíèè ñêðèïòîâ, ïðèâåäåì îñíîâíûå îïåðàòîðû è ôóíêöèè VBscript. À òî íà÷íåòå ïèñàòü PRINT "ïðèâåò" èëè ïûòàòüñÿ çàêîí÷èòü öèêë For îïåðàòîðîì Next x :)

ÑÈÍÒÀÊÑÈÑ ÏÐÈÌÅÐ ÎÏÈÑÀÍÈÅ

Îïåðàòîðû ðàáîòû ñ ìàññèâàìè.

Dim èìÿ_ìàññèâà (èíäåêñû) dim a(10),b(20,30) Îáúÿâëåíèå ìàññèâà
Erase èìÿ_ìàññèâà erase a Î÷èñòêà ñîäåðæèìîãî ìàññèâà

Îïåðàòîðû ïðèñâàèâàíèÿ.

ïåðåìåííàÿ = çíà÷åíèå a=137 a=b c="ïðèâåò" Ïðèñâàèâàíèå
Set ïåðåìåííàÿ = îáúåêò set a=document.forma1 Ïðèñâàèâàíèå ïåðåìåííîé çíà÷åíè ññûëêè íà îáúåêò.

Êîììåíòàðèè.

' êîììåíòàðèè ' òåêñò  
Rem êîììåíòàðèè rem òåêñò  

Êîíñòàíòû Boolean.

ïåðåìåííàÿ = False if a=false then ... Çíà÷åíèå òèïà boolean ðàâíîå 0
ïåðåìåííàÿ = True if a=true then ... Çíà÷åíèå òèïà boolean ðàâíîå -1

Ôóíêöèè.

7hitmovies.com 300mb Fixed May 2026

The website 7hitmovies.com (often associated with search terms like "300mb") is a third-party platform primarily used for downloading highly compressed movies, often in 300MB file sizes

. These sites typically focus on Bollywood, Punjabi, and South Indian dubbed content. Key Features of "300MB" Movie Sites: High Compression

: Movies are encoded to fit into a small 300MB file, making them easy to download on limited mobile data plans. Content Variety

: They often feature Punjabi movies, Hindi-dubbed features, and popular web series. Accessibility

: Designed for offline viewing on devices with low storage capacity. Legal & Safe Alternatives

Downloading from third-party sites like 7hitmovies often carries risks of malware and copyright infringement. For high-quality, legal movie downloads and streaming, consider these official platforms: Regional Content (Punjabi/Hindi) : Services like ZEE5 Punjabi offer extensive libraries of regional films. Public Domain : For free legal downloads, sites like The Public Domain Review

provide classic features that are no longer under copyright. Offline Viewing : Official apps like Google Play Movies & TV

allow you to download purchased or rented films to your device for viewing without an internet connection. Google Help or a particular for your next feature?

Download movies & TV to watch offline - Android - Google Play Help

Download videos with mobile data * On your device, open Google Play Movies & TV . * At the top, tap Menu. or your profile picture. Google Help 7hitmovies.com 300mb

Top 10 Legal Free Movie Download Websites for 2026 - Lifewire

"7hitmovies.com 300mb" seems to refer to a specific website, 7hitmovies.com, which offers movie downloads, possibly at a reduced file size of 300 megabytes (MB). This account aims to provide an overview of such websites, their appeal, and the implications of using them.

What is 7hitmovies.com?

Historically, 7hitmovies.com was a peer-to-peer (P2P) indexing and downloading portal. It gained popularity in regions like India, Bangladesh, the Middle East, and parts of Africa where high-speed broadband is either expensive or unavailable.

The site specialized in:

  1. Hollywood movies (dubbed in Hindi or Tamil).
  2. Bollywood Hindi films.
  3. South Indian movies (Telugu, Tamil, Malayalam).
  4. Web series from platforms like Netflix, Amazon Prime, and Hotstar.

Unlike legal streaming giants, 7hitmovies did not host the files directly. Instead, it aggregated links from file hosts like Google Drive, OneDrive, Mega, and Mediafire.

Typical content and structure

Legal Alternatives

For safe and high-quality viewing, consider these legal streaming platforms:

7hitmovies.com is a third-party website that distributes copyrighted movies in highly compressed formats, specifically targeted at users seeking 300MB downloads for mobile viewing or slow internet connections.

The site is part of the "shadow library" ecosystem, similar to platforms like 9xmovies or Khatrimaza, which specialize in re-encoding high-definition content into smaller file sizes without completely sacrificing visual quality. Key Features of 300MB Movie Sites

HEVC/x265 Compression: Uses advanced codecs to maintain detail while shrinking file size. The website 7hitmovies

Mobile Optimized: Files are usually in .mkv or .mp4 format, compatible with smartphones.

Dual Audio Support: Many 300MB releases include both original and dubbed audio tracks.

Categorized Content: Libraries typically include Bollywood, Hollywood (Hindi Dubbed), and South Indian films. Risks and Legal Implications

💡 Piracy is illegal: Accessing or distributing copyrighted content via sites like 7hitmovies violates digital rights laws and can lead to legal penalties.

Malware Threats: These sites often use aggressive "pop-under" ads and redirects that can install viruses.

Data Privacy: Navigating these platforms often exposes your IP address to unsecured servers.

ISP Throttling: Many internet providers block these domains or throttle speeds for users visiting piracy hubs.

Domain Hopping: To avoid takedowns, these sites frequently change extensions (e.g., .com, .org, .in, .xyz). Ethical and Legal Alternatives

To enjoy movies safely and in high quality, consider these licensed platforms: Hollywood movies (dubbed in Hindi or Tamil)

Netflix: Offers a "Mobile Plan" specifically for budget-conscious users.

Disney+ Hotstar: Large library of Bollywood and regional Indian content.

Amazon Prime Video: Allows for offline downloads with adjustable quality settings.

YouTube: Many older or independent films are available for free or rent legally. Technical Note: How 300MB Downloads Work

The "300MB" standard is achieved through bitrate reduction. By lowering the amount of data processed per second, the file size drops. On a large 4K TV, these files will look pixelated and blurry. However, on a 6-inch smartphone screen, the high pixel density makes the lower bitrate less noticeable, which is why these downloads remain popular in specific markets. If you would like to know more, I can: Explain how HEVC compression works technically. Help you find legal streaming options for a specific movie.

Provide tips on securing your device from malicious redirects. Which of these would be most helpful for you?


The Allure of Compact Movie Files

In an era where internet speeds vary significantly across the globe, and data storage capacities on devices are limited, the appeal of smaller file sizes for movies is understandable. A 300mb movie file size significantly reduces the time required to download movies, especially for those with slower internet connections. This convenience is a major draw for users who want to quickly access and watch their favorite films or the latest releases without waiting for lengthy downloads.

Privacy and tracking

Feature Name: SmartScaleâ„¢: Adaptive Micro-Streaming

Considerations and Implications

  1. Legal Implications: Many websites that offer movie downloads operate in a legal gray area. The legality of downloading copyrighted content without permission varies by country and jurisdiction. Users should be aware of the laws in their area and the potential for copyright infringement.

  2. Quality and Safety: Smaller file sizes can sometimes come at the cost of video and audio quality. Moreover, files from such sites may not be thoroughly vetted for malware or viruses, posing a risk to users' devices and data security.

  3. Ethical Considerations: The movie industry and content creators often rely on sales, subscriptions, and legitimate streaming services for revenue. Downloading movies from sites that do not contribute to the creators or rights holders can impact the production of future content.

  4. Alternatives: There are legal alternatives for accessing movies with smaller file sizes or for streaming. Services like Netflix, Amazon Prime Video, and Disney+ offer a wide range of movies and TV shows for a monthly fee. These services provide high-quality streams and downloads (where available) that are legal and support content creators.

The Problem It Solves


Îïåðàòîðû èñïîëüçóåìûå â âûðàæåíèÿõ

Ïðèâîæó ïðîñòî ñïèñîê, íàäåþñü âñå è òàê ÿñíî:
+ And / = Eqv ^ > <= Imp <> \ < => Mod * - Or & Xor

Òåêñòîâûå Ôóíêöèè

Instr (íà÷àëî, ñòðîêà, èñêîìàÿ ïîäñòðîêà) If Instr(1,mail,@) then ... Âîçâðàùàåò íîìåð ñèìâîëà â ñòðîêå ñ êîòîðîãî íà÷èíàåòñÿ èñõîäíàÿ ïîäñòðîêà
Lcase (ñòðîêà) a=Lcase("ÏÐèâÅÒ") ... a="ïðèâåò" Ïðåîáðàçîâàíèå ñèìâîëîâ ñòðîêè â ñòðî÷íûå áóêâû
Ucase (ñòðîêà) a=Ucase("ÏÐèâÅÒ") ... a="ÏÐÈÂÅÒ" Ïðåîáðàçîâàíèå ñèìâîëîâ ñòðîêè â çàãëàâíûå áóêâû
Left (ñòðîêà,N ñèìâîëîâ) a=Left("Ïðèâåò",3) ... a="Ïðè" Ëåâàÿ ÷àñòü ñòðîêè äëèííîé N ñèìâîëîâ
Right (ñòðîêà,N ñèìâîëîâ) a=Right("Ïðèâåò",3) ... a="âåò" Ïðàâàÿ ÷àñòü ñòðîêè äëèííîé N ñèìâîëîâ
Len (ñòðîêà) a=Len("Ïðèâåò") ... a=6 Äëèíà ñòðîêè
Ltrim (ñòðîêà) a=Ltrim(" Ïðèâåò ",) a="Ïðèâåò " Óäàëÿåò íà÷àëüíûå ïðîáåëû
Rtrim (ñòðîêà) a=Rtrim(" Ïðèâåò ",) a=" Ïðèâåò" Óäàëÿåò êîíå÷íûå ïðîáåëû
Trim (ñòðîêà) a=Ttrim(" Ïðèâåò ",) a="Ïðèâåò" Óäàëÿåò íà÷àëüíûå è êîíå÷íûå ïðîáåëû
Mid (ñòðîêà, íà÷àëî, N ñèìâîëîâ) a=Mid("Ïðèâåò",3,2) a="âå" ×àñòü ñòðîêè ñ ïîçèöèè "íà÷àëî" è äëèíîé N ñèìâîëîâ
Left(ñòðîêà,N ñèìâîëîâ) a=Left("Ïðèâåò",3) a="Ïðè" Ëåâàÿ ÷àñòü ñòðîêè äëèííîé N ñèìâîëîâ
Space (N) a=Space(5) Ñòðîêà èç N ïðîáåëîâ
String (N ñèìâîëîâ, ñèìâîë) a=String(5,"A") a="AAAAA" Ñòðîêà èç N ñèìâîëîâ
Ltrim (ñòðîêà) a=Ltrim(" Ïðèâåò ",) a="Ïðèâåò " Óäàëÿåò íà÷àëüíûå ïðîáåëû

Âåòâëåíèå è öèêëû

Call èìÿ_ñîáûòèå Call but_onclick Âûçîâ ïîäïðîãðàììû
Do
...
Loop Until óñëîâèå
Do
a=a+1
Loop Until a>=5
Âûïîëíÿåò êîä õîòÿ áû îäèí ðàç, ïîêà óñëîâèå íå áóäåò èñòèííûì
Do
...
Loop While óñëîâèå
Do
a=a+1
Loop While a<5
Âûïîëíÿåò êîä õîòÿ áû îäèí ðàç, ïîêà óñëîâèå ñïðàâåäëèâî
Do Until óñëîâèå
...
Loop
Do Until a>=5
a=a+1
Loop
Ïîâòîðÿåò âûïîëíåíèå êîäà, ïîêà óñëîâèå íå ñòàíåò èñòèííûì
Do While óñëîâèå
...
Loop
Do While a<5
a=a+1
Loop
Ïîâòîðÿåò âûïîëíåíèå êîäà, ïîêà óñëîâèå ñïðàâåäëèâî
For ñ÷åò÷èê=íà÷àëî To êîíåö Step øàã
...
next
For i=1 to 5
a=a+1
next
Öèêë (çàìåòüòå: ïèøåòñÿ "next" à íå "next i")
IF óñëîâèå Then
äåéñòâèå1
Else
äåéñòâèå2
End if
IF a>1 Then alert"áîëüøå" Âûïîëíåíèå êîäà ïðè âûïîëíåíèè óñëîâèÿ
Select Case X
Case çíà÷åíèå1
äåéñòâèå
Case çíà÷åíèå2
äåéñòâèå2
...
End select
Select Case X
Case 10
alert"x=10"
Case 20
alert"x=20"
End select
Âûáîðî÷íîå âûïîëíåíèå êîäà ïðè ñîâïàäåíèè çíà÷åíèÿ
While óñëîâèå
äåéñòâèå
Wend
While a<5
a=a+1
Wend
Âûïîëíåíèå êîäà ïîêà óñëîâèå èñòèííî

Oáúÿâëåíèå ôóíêöèé è ïðîöåäóð

Dim ïåðåìåííàÿ Dim a Îáúÿâëåíèå ïåðåìåííîé
Sub èìÿ_ñîáûòèå
êîä
End sub
Sub but_onclick
Alert x
End sub
Ïîäïðîãðàììà
Function èìÿ(ïàðàìåòðû)
êîä
End function
Function(x,y)
x=x*y
End function
Ôóíêöèÿ
Exit ... Exit Do (For, Function, Sub) Äîñðî÷íûé âûõîä

Êàê âûçâàòü ñöåíàðèé â VBscript.

Âåá ñòðàíèöà ñ àêòèâíûì ñîäåðæèìûì, âñåãäà äåëèòñÿ êàê áû íà äâå ÷àñòè: Ïåðâàÿ, ýòî html êîä ñàìîé ñòðàíèöû ñîäåðæàùèé íåîáõîäèìûå ýëåìåíòû óïðàâëåíèÿ (ññûëêè, êíîïêè, ôîðìû äëÿ ââîäà èíôîðìàöèè è ò.ä.), è Âòîðàÿ, ñöåíàðèè íà ñêðèïòå, êîòîðûå íà÷èíàþò ðàáîòàòü ïðè ðàçëè÷íûõ ñîáûòèÿõ ïðîèñõîäÿùèõ ñ ýëåìåíòàìè óïðàâëåíèÿ. Ýòî ìîæíî íàçâàòü ãëàâíîé îòëè÷èòåëüíîé îñîáåííîñòüþ ïðîãðàìì äëÿ âåá ñòðàíèö, îò îáû÷íûõ èñïîëíÿåìûõ ïðèëîæåíèé.

Ðàññìîòðèì îñíîâíûå ïðèåìû âûçîâà ñöåíàðèåâ, èëè ïðîöåäóð.

Ñöåíàðèé âûçûâàåìûé íåÿâíî:



<html>



 <head>

   <script language="VBScript">

	Sub but_onclick

	 Alert "Ïðèâåò ïèïëû:)"

	End sub

   </script>

 </head>



 <body>

   <form>

	<input type="button" name="but">

   </form>

 </body>

</html>

Òàêîé ñïîñîá, ïî ìîåìó ìíåíèþ, ñàìûé ïðîñòîé. Óêàçûâàåì èìÿ îïåðàòîðîì name="èìÿ" â òåãå õàðàêòåððèçóþùèì ýëåìåíò óïðàâëåíèÿ, ýòî æå "èìÿ" ïèøåì â âûçûâàåìîé ïðîöåäóðå è ÷åðåç çíàê ïîä÷åðêèâàíèÿ ïèøåì ñîáûòèå, êîòîðîå äîëæíî ïðîèçîéòè äëÿ èñïîëíåíèÿ ñöåíàðèÿ.

Âûçîâ ñöåíàðèÿ îïðåäåëÿåìûé â ýëåìåíòå óïðàâëåíèÿ:



<html>



 <head>

   <script language="VBScript">

	Sub scenariy

	 Alert "Ïðèâåò ïèïëû:)"

	End sub

   </script>

 </head>



 <body>

   <form>

	<input type="button" name="but" _

      onclick="scenariy" language="VBScript">

   </form>

 </body>

</html>

Òàêîé ñïîñîá îáðàäóåò ïðèâåðæåíöåâ Java Script. Ñðåäè åãî ïðåèìóùåñòâ, ïåðåä ïåðâûì ìåòîäîì ìîæíî îòìåòèòü òî, ÷òî îäèí è òîò æå ñöåíàðèé ìîæíî âûçûâàòü èç ðàçíûõ ýëåìåíòîâ óïðàâëåíèÿ.

Àâòîìàòè÷åñêèé âûçîâ ñöåíàðèÿ:



<html>

 <body>

   <script language="VBScript">

	Alert "Ïðèâåò ïèïëû"

   </script>

 </body>

</html>

Êîä ïðîãðàììû â ýòîì ñëó÷àå âûïîëíèòñÿ ñðàçó ïîñëå çàãðóçêè äîêóìåíòà.

Âûçîâ èç äðóãîé ïðîöåäóðû:



<html>

 

 <head>

   <script language="VBScript">

	Sub but_onclick

	  Call butalert("Ïðèâåò ïèïëû")

	End Sub



	Sub butalert(a)

	  Alert a

	End Sub

    </script>

 </head>



<body>

   <form>

	<input type="button" name="but" _

      onclick="scenariy" language="VBScript">

   </form>

 </body>

</html>

Âñå ñïîñîáû, êðîìå àâòîìàòè÷åñêîãî âûçîâà ñöåíàðèÿ, ÷èñòî âèçóàëüíî áóäóò âûãëÿäåòü òàê:


Îñíîâíûå òèïû äàííûõ VBscript

Íàâåðíîå, òå êòî çíàêîì ñî "ñòàðûì" áåéñèêîì, åùå ïîìíÿò, ÷òî äëÿ îáîçíà÷åíèÿ ñèìâîëüíîé ïåðåìåííîé íàäî áûëî ïèñàòü çíàê áàêñà èëè ñîëíûøêà (a$="ïðèâåò").  VBscript ýòîãî äåëàòü íå ñëåäóåò, îí èìååò òîëüêî îäèí òèï äàííûõ, íàçûâàåìûé VARIANT. Îí ìîæåò ñîäåðæàòü êàê ñèìâîëû òàê è ÷èñëà ðàçíîé òî÷íîñòè. Ïîýòîìó äëÿ òîãî, ÷òîáû òî÷íî îïðåäåëèòü òèï äàííûõ, æåëàòåëüíî èñïîëüçîâàòü ôóíêöèè ïðåîáðàçîâàíèÿ. Ê ïðèìåðó, òåêñò ââîäèìûé â ïîëå ôîðìû èìååò òåêñòîâûé ôîðìàò, è ïîïûòêà ñëîæèòü öèôðó "3" ñ öèôðîé "2" ïðèâåäåò ê ðåçóëüòàòó "32":





<Script language="VBscript">

sub summa



 	  summatext1=document.formasum.summa1.value

	  summatext2=document.formasum.summa2.value

	  alert summatext1+summatext2



end sub

</Script>

Ïîýòîìó íàäî ñäåëàòü òàê, ÷òîáû ïåðåìåííûå summatext1 è summatext2 áûëè ïðåîáðàçîâàíû â öåëûå ÷èñëà ôóíêöèåé Cint(ïåðåìåííàÿ):





<Script language="VBscript">

sub summa



 	  summatext1=Cint(document.formasum.summa1.value)

	  summatext2=Cint(document.formasum.summa2.value)

	  alert summatext1+summatext2



end sub

</Script>

Ïîäòèïû äàííûõ VARIANT.

ÏÎÄÒÈÏ ÔÓÍÊÖÈß ÏÐÅÎÁÐÀÇÎÂÀÍÈß ÎÏÈÑÀÍÈÅ

Epty - Àâòîìàòè÷åñêè ïðèñâàèâàåòñÿ íîâûì ïåðåìåííûì, êîãäà èì åùå íå ïðèñâîåíî ÿâíîå çíà÷åíèå.
Null - Óêàçûâàåò íà òî, ÷òî ïåðåìåííàÿ íå ñîäåðæèò äîïóñòèìûõ äàííûõ.
Boolean CBool(x) Èñïîëüçóåòñÿ äëÿ îáîçíà÷åíèÿ ëîãè÷åñêèõ ïåðåìåííûõ, ïðèíèìàþùèõ äâà äîïóñòèìûõ çíà÷åíèÿ True èëè False
Byte CByte(x) Ñàìûé êîðîòêèé òèï äàííûõ ïðèíèìàþùèé çíà÷åíèå 0..255
Integer CInt(x) Öåëûé òèï â ïðåäåëàõ -32768 .. 32768
Long CLng(x) Äëèííûé òèï öåëîé ïåðåìåííîé â ïðåäåëàõ -2147483648 .. 2147483647
Single CSngl(x) Òèï ÷èñåë ñ ïëàâàþùåé òî÷êîé îäèíàðíîé òî÷íîñòè
Double CDbl(x) Òèï ÷èñåë ñ ïëàâàþùåé òî÷êîé äâîéíîé òî÷íîñòè
Date/Time CDate(x) ×èñëî â ôîðìàòå îòîáðàæàþùåå âðåìÿ è äàòó îò 1 ÿíâàðÿ 100 ãîäà äî 31 äåêàáðÿ 9999 ãîäà
Currency CCur(x) Ñïåöèàëüíûé ÷èñëîâîé ôîðìàò äëÿ äåíåæíûõ âåëè÷èí
String CStr(x) Ñèìâîëüíûå òèï äàííûõ
Object - Ññûëêà íà îáúåêòû ole, html, ActiveX
Error - Òèï äàííûõ ïðåäíàçíà÷åííûé äëÿ õðàíåíèÿ íîìåðîâ îøèáîê

Íåêîòîðûå ïðàâèëà VBscript

 çàêëþ÷åíèè ñëåäóåò óïîìÿíóòü íåêîòîðûå îñíîâíûå ïðèåìû ïðè íàïèñàíèè êîäà ñêðèïòà.

Åñëè êîä íå óìåùàåòñÿ â îäíîé ñòðîêå, òî ìîæíî èñïîëüçîâàòü ñèìâîë ïðîäîëæåíèÿ ñòðîêè:



if a=1 and b=2 or c=3 then alert a

  ìîæíî íàïèñàòü êàê

if    a=1 _

  and b=2 _

   or c=3 _

then alert a

Äëÿ "ñêëåèâàíèÿ" äâóõ ÷èñëåííûõ ïåðåìåííûõ ëó÷øå èñïîëüçîâàòü çíàê "&" ÷åì "+", ò.å. a="ïðè" b="âåò" òîãäà a&b="ïðèâåò"

Êîä ñöåíàðèÿ æåëàòåëüíî, íà âñÿêèé ñëó÷àé, çàêëþ÷àòü â òåãè êîììåíòàðèÿ <Script language="Vbscript><!-- êîä --></script>


Çàêëþ÷åíèå

ß óæå ãîâîðèë, ÷òî ìîåé çàäà÷åé íå áûëî ðàññêàçàòü âñå è âñÿ ïðî VBscript, â ñòàòüå áûëè ïðèâåäåíû òîëüêî ñïðàâî÷íûå äàííûå è îñíîâíûå ìåòîäû, ïðèãîäíûå äëÿ íàïèñàíèÿ ïðîñòåéøèõ ñöåíàðèåâ, áåç ïðèìåíåíèÿ ActiveX òåõíîëîãèè. Òåì, êîãî çàèíòåðåñîâàë ýòîò ÿçûê ïðîãðàììèðîâàíèÿ, ìîæíî ïîðåêîìåíäîâàòü êíèãó (èç áóìàãè :) "Èçó÷àåì VBscript" àâòîð Ïîë Ëîìàêñ. Íåêîòîðûå ñïðàâî÷íûå äàííûå ÿ áðàë èìåííî èç íåå.

Òàê ÷òî äåðçàéòå!


 ïîäàðîê îò ìåíÿ, èãðà ÈÍÂÅÐÑÈß, íàïèñàííàÿ ñàìè ïîíèìàåòå íà VBScript. Âàøà öåëü, êëèêàÿ íà ÿ÷åéêè, ñäåëàòü òàê, ÷òîáû âî âñåõ íèõ ñòàëè òî÷êè. Ó ýòîé èãðû åñòü àëãîðèòì âûèãðûøà ìåíåå ÷åì çà 15 õîäîâ! Æìèòå êíîïêó Ñòàðò è èãðàéòå.


Àëåêñåé Ìîõîâîé (23.09.1998) www.midi.ru