Stickman Warfare: A játék - Fórum

Általános => Internet => A témát indította: JP - 2011.02.25 18:15



Cím: Programozás
Írta: JP - 2011.02.25 18:15
Üdvözlök Mindenkit!

Akit érdekel az itt megtanulhat programozni Delphi7 Enterprise nyelven ez egy ingyenes programozó persze van ennek már újabb verziója is. Megtanítom nektek a program szerkezetét felépítését és ,hogy hogyan lehet hasznos több ablakos illetve egy ablakos programot készíteni a programnyelv majdnem minden parancsát legalábbis azt ami hasznos illetve szinte kötelező tudni példákat említek és fájlokat is fogok csatolni a hozzászólásaimhoz bárki csatlakozhat a programnyelv alapjait vesszük át először aztán haladunk a bonyolult programok felé. Mire végzünk remélhetőleg mindenki tudni fogja ,hogy mi az a programozás. Egy-egy téma után kérdezhettek hogy ne bonyolódjunk bele a kérdésekbe. A hibákban és a kérdésekben is segítek. Várok mindenkit.

Az első téma a program szerkezete lesz.


Cím: Re: Programozás
Írta: -|H.S.P.C.|- Dani - 2011.02.25 18:30
Szerintem meg hess.


Cím: Re: Programozás
Írta: JP - 2011.02.25 18:34
Nem kötelező nézni csak akit érdekel.


Cím: Re: Programozás
Írta: sadypisten - 2011.02.25 18:44
Majd nyisd újra ezt a témát, ha lesz "első lecke", tehát van is mit megtekinteni. Addig viszont ezt a topikot ne erőltessük. Légy szíves, ha ezt olvastad, töröld a témát, ellenben valamelyik moderátor (én) fogja törölni.

Amíg a téma el nem tűnik (tehát van én, vagy a létrehozó nem törli) kérem a többi moderátort, hogy haggya meg a témát!


Cím: Re: Programozás
Írta: JP - 2011.02.25 18:47
Egyébként akiket érdekel azoknak elkezdem a program szerkezetét:

Kód:
program programneve;
var azonosító: tipus;
begin
 Ez itt a program törzs. Ide kell a program kódot beírni.
end.

Ez a DOS ablakokban (aki nem értené annak egyszerűen mondom a gépnyelvének ablaka az operációs rendszerekben másként aki még mindig nem érti annyit mondok fekete ablakban futó programok ezek csak programkódok) futó programoknál van így. Minden parancsot ; zárunk. A programot zárjuk csak .-al.

Mi Delphi7-ben modulokban vagyis unitokban írjuk a programot.

Kód:
unit unitneve;
interface
 Deklarációs rész ez lesz a modul tartalma. Eljárások függvények fejléce.
implemation
 Eljárások, függvények deklarációs része ezzel később foglalkozunk.
end.

Ez a rész ami nekünk kell majd.

Ja ,bocs hogy nem figyeltem épp írtam közben az első leckét egyébként ennyi lenne a program alap szerkezete. A következőben a váltózókról lesz szó.


Cím: Re: Programozás
Írta: JP - 2011.02.25 19:12
A változók:
Olyan adatmezők melyek számot, szöveget vagy logikai értéket tárolnak. A Delphi7 szigorúan tipusos nyelv. Ez azt jelenti ,hogy minden változónak kell egy tipusunak lennie.
A változó tipusok:
 - Integer számváltozó (egész szám)
 - String szövegváltozó (max 255 karakter)
 - Real számváltozó (lebegőpontos szám (tizedestört szám))
 - Boolean logikai változó (csak True és False értéket vehet fel)
Ezek a fő változók de vannak még:
 - Longint számváltozó
 - Word számváltozó
 - Int64 számváltozó (64bites windows-ra)
 - AnsiString szövegváltozó (2GB méretű is lehet sok memóriát foglal csak néha használjátok)
 - Double számváltozó (tizedestört szám)
 - Char karakterváltozó (1 karaktert tárol)
 - PAnsiChar karakterváltozó (hosszabb karakter sort táról)
 - Pointer tipusosváltozó (memoriamutató ezzel késöbb foglalkozunk)
 - Variants változó (Ez kivételes a Delphi7 nyelvben mert azt mondtam a Delphi7 szigorúan tipusus nyelv ez az egy változó bármilyen értéket,szöveget  
   felvehet)
Ezek a változók.
A változókat a programban a Var kulcsszóval deklaráljuk.
Példa DOS ablakban:
Kód:
Program programneve;
Var Szam: Integer = 5; Ez is értékadás
     Szoveg: String; Szövegváltozó
Begin
 Szam:=5; Változónak értékadás
 Szoveg:='Ez egy szöveg változó'; A szövegváltozóknak ' ' jelek között adunk értéket.
End.


Váltózók szabályai:
 - Egyetlen szabály van: nem keveredhet két különböző tipus.

Nagyából ennyi lenne a változók.

Mára ennyit ezt is nehéz lesz feldolgozni valakinek. Holnap fojtatom a következő leckével a DOS ablakba írás programból és beolvasás billentyűzetről és az aritmetikai műveletek.

Ki akar egyenlőre kérdezni az első két témával kapcsolatban?


Cím: Re: Programozás
Írta: Oli - 2011.02.25 19:37
OFF: Angolul tudóknak én a Lifehacker öt részes sorozatát ajánlanám: http://lifehacker.com/#!5744113/learn-to-code-the-full-beginners-guide (http://lifehacker.com/#!5744113/learn-to-code-the-full-beginners-guide)
Van videó is mindegyikhez, de le is van írva.


Cím: Re: Programozás
Írta: JP - 2011.02.25 19:45
Azt hiszem Delphi-nek van 2010-es verzió-ja is érintőképernyős alkalmazásokat is lehet benne tervezni de azt nem tudom hogy ingyenes-e. Aki akarja megnézheti.


Cím: Re: Programozás
Írta: [FC]Ron - 2011.02.25 22:01
Ingyen programozol másoknak?


Cím: Re: Programozás
Írta: JP - 2011.02.26 13:12
Persze ez nem kérdés minek adjam pénzért nem érdekelne senkit. Egyébként is ahhoz egy-egy összetettebb projectet kell készítenem (készül is egy nagyobb projectem, feleletválasztós stb. kérdéseket lehet majd benne szerkeszteni.).


Cím: Re: Programozás
Írta: kléni - 2011.02.26 13:24
Szerintem csinálj egy külön oldalt, ahol ezt a tutort leírod. Először is, másnak is meg tudod mutatni, másodszor itt még nem túl sok embert érdekel ez a téma, sokan még eléggé fiatalok is hozzá. Akit mégis érdekel, az meg fogja nézni az oldalad is.


Cím: Re: Programozás
Írta: JP - 2011.02.26 13:30
Kezdem a harmadik leckét kiírás DOS ablakba és bevitel billentyűzetről:
Kiírni a képernyőre a write() writeln() parancsokkal lehet a write és a writeln eljárás között az a különbség ,hogy a write folyamatosan írja egymás után a
szöveget (Az {$APPTYPE CONSOL} paraméter aktiválja a DOS ablakot):

Kód:
program ir;
{$APPTYPE CONSOL}
var I: Integer;
     S: String;
begin
 I:=5;
 S:='Kiir';
 write('Kiir');
 write(S);
 write(I);
 write('2+3=',I);
 write(2+3);
end;

Eredmény:
Kód:
KiirKiir2+3=5

A writeln() eljárás sort is emel. A változókat és kiírandó szöveget ,-vel választjuk el.
A writeln() eljárás programkódja:

Kód:
program sortir;
{$APPTYPE CONSOL}
var I: Integer;
     S: String;
begin
 I:=5;
 S:='Kiir';
 writeln('Kiir');
 writeln(S);
 writeln(I);
 writeln('2+3=',I);
 writeln(2+3);
end;

A writeln() eljárás eredménye:
Kód:
Kiir
Kiir
5
2+3=5
5

Így lehet használni a write() writeln() eljárást.


Cím: Re: Programozás
Írta: JP - 2011.02.27 12:55
Billentyűzetről beolvasás:

Bevitelre a read() readln() eljárással van esélyünk a zárójelek közé egy változót kell tenni amibe beolvassuk a bevitt értéket a varints változót ajánlom a változókeveredés elkerülésére. A readln() eljárás csak annyi adatot olvas be amennyi változó meg van adva ha többet aduk meg mint amennyi változó van
akkor ha minden változó megtelt a többi adat elveszik. A read() eljárás megtartja ezeket az adatokat és a legközelebbi hívásánál beteszi az adatot a felsorolt változókba. A readln() eljárást szoktuk használni. Readln() eljárás paraméter nélkül (változó nélkül) az enter billentyű megnyomására várakoztathatjuk a felhasználót. A read() és a readln() eljárás használata példában:

Read() eljárás:

Kód:
program bevitel;
{$APPTYPE CONLOS}
var v,v2: variants;
begin
 read(v); //Két számot adok meg a bekérésnél az egyiket beteszi a változóba a másikat a következő hívásnál beteszi a másikban.
 read(v2); //Nem adok meg bekérési értéket de az előző egy kimaradt számot beteszi a v2 változóba.
 writeln(v,' ',v2); //Kiírja a két változót.
 readln(); //Vár az ENTER lenyomására a program befejezéséhez.
end;

Használat közben:

Kód:
1 2 //megadtam két számot de csak egyet kellet volna
//itt nem adtam meg semmit
1 2 //Kirtam a két számot

Readln() eljárás:

Kód:
program bevittel2;
{$APPTYPE CONSOL}
var v,v2: variants;
begin
 readln(v,v2); //Beviszek két számot de én direkt hármat adok meg.
 writeln(v,' ',v2); //Kiírom a két változót.
 readln(); //Várok ENTER megnyomására.
end;

Használat közben:

Kód:
1 2 3 //Beviszek három számot egy elfog veszni.
1 2 //Kiírom a két változók.
//Megnyomom az ENTER.

U.i: A //után a megjegyzés (*közé kell írni a megjegyzést*) {megjegyzés} jelekkel lehet megjegyzést tenni ,hogy ne felejtsük el mire való az a kód ezeket a program figyelmen kívül hagyja.


Cím: Re: Programozás
Írta: JP - 2011.02.27 17:51
Aritmetikai műveletek:

Az összeadás, kivonás, változóértékékeinek cserélése, szorzás, osztás stb. műveletekről van szó. Most minden tudnivalót leírok ezekről.
Összeadás:

Kód:
program osszeadas;
var o,i1,i2: Integer;
     so,s,s2: String;
begin
 i1:=1;
 i2:=37;
 o:=i1+i2;
 writeln('Az osszeg: ,'o);
 s:='He';
 s2:='llo';
 so:=s+s2;
 writeln(so);
 s:=s+'llo';
 writeln(s);
end;

Az eredmény:

Kód:
Az osszeg: 38
Hello
Hello


Cím: Re: Programozás
Írta: Bolint99 - 2011.02.27 18:11
Szerintem is foglald egy blogba az írásokat, hogy ne vesszenek el, vagy csinálj egy programozást oktató programot, ha van kedved ;) Felőlem ez is itt maradhat, de egy blog is jó ötlet lenne ;)


Cím: Re: Programozás
Írta: bigamer - 2011.02.27 22:15
én arra vevő lennék :D


Cím: Re: Programozás
Írta: JP - 2011.02.28 16:25
Igen szerintem is neki állok. Vagy szövegszerkesztővel megírom vagy honlapot írok rá. Szerintem a szövegszerkesztős egyszerűbb.

De itt kérdezhet bárki a programozásról vagy küldjön nekem mail-t. Kérdezzetek ,hogy én hogy írnék meg egy feladatra egy programot stb..;)
Mail cím: programozo007@gmail.com


Cím: Re: Programozás
Írta: Rudi - 2011.03.06 16:08
Idézet
Delphi7 Enterprise nyelven

Csak delphi nyelv van

Idézet
ez egy ingyenes programozó

Fordítóprogram, az enterprise változat 900000 forint körül van

Az első példák meg pascal nyelven voltak.

Egyébként nem csesztetésből, csak kijavítottalak :)

Nagyon tetszik egyébként, csak így tovább, majd rakd ki a blogcímet is ;)


Cím: Re: Programozás
Írta: JP - 2011.03.07 10:37
Igen mert a Delphi 7 egy Object Pascal nyelven alapuló programozási nyelv. Annyi a különbség Pascal és az Object Pascal nyelv között hogy az Object Pascal az object orientált nyelv és van benne egy variants változó. Az object orientált nyelv azt jelenti hogy osztályokban írjuk a nyelvet.
Példa:

Kód:
Type TOsztaly = class(TObject) // A class szó után meg lehet adni melyik ősosztályból származtatjuk (öröklődés)
                   private // Rejtett adatmezők
                    Tar: Integer; // Itt nem kell var kulcsszó
                   protected
                    procedure Beker(szam: Integer); // Ezek eljárások de itt methodusoknak fogjuk nevezni csak ezek férhetnek hozzá az adatmezőkhöz
                    procedure Hozzaad(var s: String); //a var kulcsszó itt megváltoztatja paraméterként adott változó értékét
                   public
                    constructor Letrehoz(beall: Integer); // Ezzel hozzuk létre az osztályt
                    destructor Megszüntet; // Ezzel szüntetjük meg az osztályt
                   published
                    property Bekeres: Integer read Beker write Tar; // Ez egy tulajdonság egyszerűbb kezeléshez  a read-el olvassuk
                  end;                                                                 // a beker eljárást és a write-vel írjuk vele a Tar adatmezőt
                  
implemation

procedure Beker(szam: Integer);
begin
 Tar:=szam;
end;

procedure Hozzaad(var s: String);
begin
 s:=IntToStr(Tar); //Ez egy eljárás ami számból stringet csinál
end;

constructor Letrehoz(beall: Integer);
begin
 Tar:=beall;
end;

destructor Megszüntet;
begin
 Tar:=0;
end;

end;

Használata:
 // Kihagyom a program fejlécét
var Szam: TOsztaly;
     Szöveg: String;
begin
 Szam:=TOsztaly.Letrehoz(54287); // Lehet az Create constructor-t is használni ez a lehetőség mindig megvan
 Szam.Bekeres:=54287 // Ez ugyanaz az értékadás csak tulajdonsággal
 Szam.Hozzaad(Szöveg); //Szöveg változónak adjuk a szám értékét
 Szam.Megszüntet; // Ehelyet pedig a Destroy destructor-t
 writeln(Szöveg);
end.

Eredmény:

54287


Ja és szerintem van Delphi7 Enterprise verzió csak alaposabban rá kell keresni mert ez már elég régi 2000 körül jelent meg.


Cím: Re: Programozás
Írta: Rudi - 2011.03.07 22:11
Nem azt mondom hogy nincs. Van, de az a fordítóprogram, magák a komponensek amúgy isletölthetők/megírhatók szóval nem egy külön programnyelv.


Cím: Re: Programozás
Írta: JP - 2011.03.09 19:03
A Delphi 7 viszont már annyira régi hogy ingyenesen letölthető kivéve a Trial verzió utánanéztem. Csak azért mondom mert senki sem fog boldogulni ha nem látja a kezelőfelületet. Amikor még nyelv alapjait vesszük nem kell még letölteni.
U.i: A weblap php nyelven alapuló akit érdekel (küldjön levelet) annak leírom hogy fogom megoldani a felhasználói és fórum részét.


Cím: Re: Programozás
Írta: Oli - 2011.03.11 21:29
http://notch.tumblr.com/post/3746989361/terrain-generation-part-1
Notch írása a Minecraft programozási részleteiről - ez, az első rész a talaj generálásról. Érdekes olvasmány, még lesz folytatása.


Cím: Re: Programozás
Írta: JP - 2011.03.12 11:44
Oli te csak weblap készítéssel foglalkozol vagy alkalmazások készítésével is?


Cím: Re: Programozás
Írta: kléni - 2011.03.12 11:58
Weblap, csak játszik az mc-vel, vagy nézi notch blogját, és ott talált rá.


Cím: Re: Programozás
Írta: Oli - 2011.03.12 20:09
Nézem Notch blogját, és néha játszok az MC-vel. Amúgy a programozáshoz nincs sok közöm.


Cím: Re: Programozás
Írta: JP - 2011.03.20 13:17
Helló megint itt vagyok php-soknak egy kis részlet felhasználó adatvédelmével kapcsolatban.

Bejelentkezés:

Kód:
<?php

  $kapcsolat 
mysql_connect("127.0.0.1","felhasznalo neved","jelszavad");
  
mysql_select_db("adatbazisod"$kapcsolat);  

  
$fh $_POST["bfh"];

  
$sql_1 "SELECT * FROM `adatbazis`.`adattabla`";

  
$eredmeny_1 mysql_query($sql_1);

  
$sorok mysql_num_rows($eredmeny_1);
  
  
$index_1 0;
  
$index_2 1;
 
  
$szamlalo_1 0;
  
$szamlalo_2 0;
  
$szamlalo_3 0;

  
$byte_1 255;

  
$ment "";
  
  while (
$szamlalo_2 <= $byte_1) {
    
    
$szamlalo_2 += 1;

    
$karakter[] = chr($szamlalo_2);

    if (
$szamlalo_2 <= 50) {
      
      
$code[] = chr($szamlalo_2+50) . chr($szamlalo_2+60) . chr($szamlalo_2+80) . chr($szamlalo_2+80);
    
    }

    elseif (
$szamlalo_2 50) {
      
      
$code[] = chr($szamlalo_2-50) . chr($szamlalo_2-25) . chr($szamlalo_2-45) . chr($szamlalo_2-10);
    
    }

   }

  while (
strlen($fh)>=$szamlalo_1) {    

    
$szamlalo_1 += 1;

    
$betu substr($fh$index_1$index_2);

    while (
$szamlalo_3 <= $byte_1) {
      
      
$szamlalo_3 += 1;

      if (
$karakter[$szamlalo_3] == $betu) {
        
        
$ment .= $code[$szamlalo_3];

       }

     }

    
$index_1 += 1.75
    
$index_2 += 1;    
    
   }

  
$sor mysql_fetch_array($eredmeny_1);
  if (
$ment == $sor["Felhasznalo"]) {

    
$nev $sor["Felhasznalo"];

   }
  elseif (
$ment !=$sor["Felhasznalo"]) {
  
    while (
$sorok>and $ment != $sor["Felhasznalo"]) {

      
$sor mysql_fetch_array($eredmeny_1);
      if (
$ment == $sor["Felhasznalo"]) {

        print 
"Üdvözlöm " $_POST["bfh"];

       }

     }

    if (
$ment != $sor["Felhasznalo"]) {

      print 
"A felhasznalonev nem letezik!";      

     }

  }

  
mysql_close($kapcsolat);

?>

Annyit most írtam le hogy már nem is tudom hogy van-e benne hiba szóljatok ha van és kijavítom. Regisztrációt most nem írom le de hasonló ehhez egyébként meg az ebben különbözik:
$sql_2 = "INSERT INTO `adatbazis`.`adattabla` (`Felhasznalo`) VALUES ('$ment')";

Javítsatok ki ha valamiben tévedek. Szerintem van ennek egyszerűbb változata is de a programozás lényege, hogy mindenki azokkal a parancsokkal oldja meg a feladatot amiket már ismer. Az én programom alapparancsok használ így remélhetőleg mindenki érteni fogja.

EDIT: Na átírtam a $ment-et el is felejtettem felhasználni.


Cím: Re: Programozás
Írta: kléni - 2011.03.20 13:42
Öhm. Jelszóval mi lesz? Valahogy azt is meg kéne nézni...
Azon kívül ha már lefuttattad azt a kód ellenőrző vackot, amit amúgy 4 sorban el lehet intézni sokkal gyorsabban, miért nem csináltál vele semmit? A $ment nincs felhasználva sehol.
Azon kívül, ha már beleraktad a mysql_select_db()-t, akkor miért írod bele a query-be az adatbázis nevét? Arról nem is beszélve, hogy a ` elhanyagolható, csak a phpmyadmin marhasága.

A programozásnak meg nem pont az a lényege. Főleg az, a lehető leggyorsabban a legjobbat a legszebben csináld meg. Erre a kódra pl egyik sem mondható rá.

Egy tipp, amit javaslok:
Kód:
<?php
mysql_connect("""""");
mysql_select_db("");
$sql mysql_query("SELECT jelszo FROM felhasznalo WHERE nev='".mysql_real_escape_string($_POST["nev"])."'");
if (mysql_num_rows($sql) == 0)
echo "Ilyen felhasználó nem létezik";
else
{
$sor mysql_fetch_array($sql);
if ($sor["jelszo"] != sha1($_POST["jelszo"]))
echo "Hibás jelszó";
else
echo "Üdv".htmlentities($_POST["nev"]);
}
?>


Cím: Re: Programozás
Írta: JP - 2011.03.20 15:57
Én már így szoktam meg és a $ment illetve ezt a program kódott egy oldalamból másoltam ki és ott regisztrációnál használtam úgy alakítottam most át bejelentkezővé elfelejtettem kitörölni mindjárt módosítom a program kódot a $ment lett volna a lekódolt rész.


Cím: Re: Programozás
Írta: JP - 2011.03.20 16:02
De a lekódolás érthetően modellezi nem? Szerintem meglehet érteni belőle, hogy mit akartam megmutatni.


Cím: Re: Programozás
Írta: kléni - 2011.03.20 16:21
Hát hogy őszinte legyek, nem igen jött le. Regisztrálásnál van értelme, de belépésnél minek? Átalakítod a betűket, vagy kiszeded a nem kellőt. De ez pont hogy csak regisztrálásnál kell, ha belépésnél nem egyezik, már nem is engeded belépni. Ugyan nem néztem meg, mi átváltva a betű, de gondolom valami speciális karakter. Annak meg belépésnél nincs értelme.


Cím: Re: Programozás
Írta: JP - 2011.03.20 16:46
Az a trükk, hogy csak regisztrálásnál alakítjuk át ezt a speciális karakterkódot mentjük el az adatbázisba és amikor bejelentkezünk azt is átalakítjuk lekérjük az adatbázisból az átalakított jelszót vagy felhasználónevet és ha egyeznek akkor enged be így például a hackerek nem tudnak azonnal az adatbázisban hozzáférni a jelszóhoz vagy felhasználónévhez mert az nincs meg a neten csak a lekódolt változata így a jelszó nem is létezik semmilyen változatban. Ajánlott mindkettőt lekódolni mert így még a felhasználót sem lehet azonosítani az adatbázisban. Menete:

Regisztráció:

<?php
  bekér;
  lekódol;
  ellenőrzés; //nincs-e ilyen felhasználó
  elment;
?>

Bejelentkezés:

<?php
  bekér;
  lekér;
  lekódol;
  ellenőrzés; //egyezik-e a felhasználó, jelszó
  belép;
?>

Ez lenne a menete.

Példa:

Regisztrálásnál beírom mondjuk: Admin az így lesz elmentve (7 az adatbázisba. Bejelentkezésnél beírom ugyanezt hogy Admin lekódolja (7 erre és egyeztetem ha egyezik (7 = (7 akkor beenged a nagy- és kisbetű is számít.


Cím: Re: Programozás
Írta: JP - 2011.03.20 17:23
Egyszerűbb verzió a felhasználó ellenőrzés nélkül csak a lekódolást és kiírás azoknak akiknek az a verzió még túl bonyolult.

Kód:
<?php

  $fh 
"";

  
$ment "";

  
$szamlalo_1 0;
  
$szamlalo_2 0;
  
$szamlalo_3 0;

  while (
$szamlalo_2 <= 255) {
    
    
$szamlalo_2 += 1;

    
$karakter[] = chr($szamlalo_2);

    if (
$szamlalo_2 <= 50) {
      
      
$code[] = chr($szamlalo_2+50) . chr($szamlalo_2+60) . chr($szamlalo_2+80) . chr($szamlalo_2+80);
    
    }

    elseif (
$szamlalo_2 50) {
      
      
$code[] = chr($szamlalo_2-50) . chr($szamlalo_2-25) . chr($szamlalo_2-45) . chr($szamlalo_2-10);
    
    }

   }

  while (
strlen($fh)>=$szamlalo_1) {
    
    
$szamlalo_1 += 1;
    
$szamlalo_3 0;

    
$betu $fh[$szamlalo_1];

    while (
$szamlalo_3 <= 255) {
    
      
$szamlalo_3 += 1;
      
      if (
$betu == $karakter[$szamlalo_3]) {

        
$ment $ment $code[$szamlalo_3];

       }

     }
   
   }

  print 
$ment;

?>

Edit: Na így már jó.


Cím: Re: Programozás
Írta: kléni - 2011.03.20 17:25
Aha. Tehát akár melyik felhasználóba be tudok lépni. Hát, ez ugyancsak hülyeség. (mivel ha beírom hogy kléni, annak az átalakított kódja ugyan az lesz mint amit beírtam regisztrálásnál, hisz a szöveg ugyan az.)
Az más tészta, hogy nem igen tud hozzájutni a hacker az adatbázisodhoz, ha annak jó jelszava van, és levéded a kéréseket, így a "hagyományos" megoldással nincs semmi baj.


Cím: Re: Programozás
Írta: JP - 2011.03.20 17:35
Ez csak egy módszer ha mondjuk mail honlapot csinálsz mert ott kell némi védelem a személy adatainak. Vagy van másik megoldás annál a bejelentkezés és regisztrációnál más eredményt kapunk de egy szabály szerint megkapjuk ugyanazt a kódot. Számmá kell alakítani a kódot és egy szabály alapján egyeztetjük őket. Majd levélben elküldöm annak aki akarja tudni hogy néz ki.


Cím: Re: Programozás
Írta: JP - 2011.03.20 17:47
Most jöttem rá lehagytam valamit. Na mindegy a kódot módosítom.


Cím: Re: Programozás
Írta: JP - 2011.03.23 17:38
A kijavított kód ez már biztos jó:

Kód:
<?php

  $fh 
"Irj ide be valamit amit le akarsz kodolni.";
 
  
$szamlalo_1 = -1;
  
$szamlalo_2 = -1;
  
$szamlalo_3 = -1;

  
$byte_1 255;

  
$ment "";
  
  while (
$szamlalo_2 <= $byte_1) {
    
    
$szamlalo_2 += 1;

    
$karakter[] = chr($szamlalo_2);

    if (
$szamlalo_2 <= 127) {
      
      
$code[] = chr($szamlalo_2+50) . chr($szamlalo_2+60) . chr($szamlalo_2+80) . chr($szamlalo_2+100);
    
    }

    elseif (
$szamlalo_2 128) {
      
      
$code[] = chr($szamlalo_2-50) . chr($szamlalo_2-60) . chr($szamlalo_2-80) . chr($szamlalo_2-100);
    
    }

   }
 

  while (
strlen($fh)>=$szamlalo_1) {    

    
$szamlalo_1 += 1;
    
$szamlalo_3 = -1;

    
$betu $fh[$szamlalo_1];

    while (
$szamlalo_3 <= $byte_1) {
      
      
$szamlalo_3 += 1;

      if (
$karakter[$szamlalo_3] == $betu) {
        
        
$ment .= $code[$szamlalo_3];

       }

     } 
    
   }

  print 
$ment;

?>

És remélem már minden jó mert eddig az 1. betűt lehagyta. És szinte ugyanazt írta ki.


Cím: Re: Programozás
Írta: JP - 2011.04.11 17:18
Helló!!!

Írtam php-ban pár mysql függvényt ami hasznos lehet. Azért írtam mert már elegem van oldalakat írni a mysql parancsok végrehajtásának, olyan függvényeket írtam mint keresés táblában, record felvétele, törlése, módosítása ha valakinek kell majd elküldöm a fájlt. (írjon először levelet)


Cím: Re: Programozás
Írta: Oli - 2011.04.11 19:17
Nem lett volna egyszerűbb ide felrakni? Szellemi tulajdon, vagy mivan? :D


Cím: Re: Programozás
Írta: JP - 2011.04.12 15:31
De itt a link: http://data.hu/get/3716473/mysql_function.php


Cím: Re: Programozás
Írta: Womi - 2011.04.12 16:39
Helló!!!

Írtam php-ban pár mysql függvényt ami hasznos lehet. Azért írtam mert már elegem van oldalakat írni a mysql parancsok végrehajtásának, olyan függvényeket írtam mint keresés táblában, record felvétele, törlése, módosítása ha valakinek kell majd elküldöm a fájlt. (írjon először levelet)
A fájlt nem tudom letölteni, ezért csak levésnék pár gondolatot.
1) Jó dolgok a függvények, de van amit már nem illik belerakni. Ilyenek az SQL parancsok is
2) Nem tudom, hány változósra csináltad a függvényeket, de ha ne adj' isten csak egyet kezelne, az vagy lassú kódot, vagy ronda függvényt fog eredményezni.

Dicsérendő a Prognyelvek tanítása, de az alapoktól kell mindig kezdeni. Bálint tutorjai eltűntek a süllyesztőben, ezt az űrt neked kell kitöltened. Valamint jó, ha magyarázatot is írsz a kód alá, mert ugyan vannak értelmes emberek, de nem kell elvárni mindenkitől, hogy rákeres egy függvényre.
Ha ezeket megfogadod, akkor remélhetőleg sokakat megtérítesz a programozásra ;)


Cím: Re: Programozás
Írta: JP - 2011.04.12 16:56
Köszi a tanácsokat. Én a magyarázatot a program alá és mellé szoktam írni hogy futás közben ismerjék meg a parancsok működését és én az elejétől kezdtem volna ez csak egy kis segítség azoknak akik használni akarják. Ja és a függvényeket kipróbáltam mind előre és nem okozott lassú kódot és kitűnően működtek. A függvényeket úgy készítettem el hogy mindenki tudja használni. A függvény pedig mindig szinte a legegyszerűbb.


Cím: Re: Programozás
Írta: Rudi - 2011.05.10 21:25
Az mitől függ hogy az asszociatív tömböket hogyan használjam? Mármint csak kinézetbeli különbség van, vagy van teljesítménybeli is?

Tehát ha mondjuk ezt akarom végrehajtani:

Kód:
<?php
print "Első: ".$tomb["valami"]." Második: ".$tomb["valami2"];
?>

Akkor melyiket érdemesebb használnom?
Ezt:

Kód:
<?php
$tomb
=array(
"valami" => "szöveg",
"valami2" => "másik szöveg"
)
?>

Vagy ezt:

Kód:
<?php
$tomb
["valami"] = "szöveg";
$tomb["valami2"] = "másik szöveg";
?>

Szóval a 2 között van-e valami különbség vagy mindegy, és amelyiket akarom azt használom?




Cím: Re: Programozás
Írta: kléni - 2011.05.10 22:18
Abszolút mindegy. Az első esetben annyiból jobb, hogy nem kell többször leírnod a $tomb-et.


Cím: Re: Programozás
Írta: Rudi - 2011.05.10 22:22
Köszönöm, ment a plusz karma. hahaha