Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak I W Czym Napisać Program Pod Windows, Który...
Forum PHP.pl > Inne > Hydepark
Bakus
Witam wszystkich

Cały problem polega na utworzeniu pliku wykonywalnego, który:
  • Jeżeli został by do niego przekazany argument z linii komend:
    • Pobierał by z pliku tekstowego ciąg znaków,
    • doklejał by do niego kilka znaków i argument otrzymany z linii komend
    • wykonywał by całość jako polecenie systemowe.
  • Jeżeli został by uruchomiony bez argumentów:
    • Uruchamiał by małe okienko pozwalające na zmianę zawartości pliku tekstowego (przez wskazanie innego pliku - coś jak przy html'owym <input type="file">)
  • Poza powyższymi:
    • miał by ładną ikonkę (dzięki temu nie będzie wyglądał jak 16 wieczny smile.gif )
Dla wyjaśnienia:
  • zawartość pliku to np: "c:\katalog\plik.exe"
  • kilka znaków: " +cnt "
  • argument z linii komend: "192.168.0.1"
  • całość do uruchomienia: "c:\katalog\plik.exe + cnt 192.168.0.1"
Moje pytania:
  • Jaki język programowania wybrać? (liznąłem trochę pascala i na tym koniec...)
  • Jaki kompilator wybrać? Nie mam kasy na komercyjne produkty, a gotowy program ma być rozprowadzany jako freeware i musi być w 100% legalny.
  • Jakie strony polecacie do rozszeżenia wiedzy o proponowanym przez Was języku programowania?
Mam nadzieję, że nie namieszałem i napisałem wszystko zrozumiale... smile.gif
Na zakończenie dodam, że PHPGTK odpada - program musi być pojedynczym EXEkiem...
radzaw
Jak lizałeś pascala to może teraz weź się za Delphi ? Istnieje wersja personal, tylko nie wiem jak w licencji wyglada sprawa freeware.
sf
Listę kompilatorów masz tutaj :

http://www.bloodshed.net/compilers/index.html

Język:

C/C++ (te okienka to np. WinAPI jeśli nie ma jakiś klas w komiplatorze ułatwiających sprawę tongue.gif)

Np. kompilator stąd:

http://www.bloodshed.net/devcpp.html

Skąd się uczyć?

Pożyczyć książkę, a potem studiować pomoc winksmiley.jpg
spenalzo
Może pascal?
http://www.vpascal.com
Seth
Cytat(Bakus @ 2004-08-18 05:19:00)
  • Jaki język programowania wybrać? (liznąłem trochę pascala i na tym koniec...)
  • Jaki kompilator wybrać? Nie mam kasy na komercyjne produkty, a gotowy program ma być rozprowadzany jako freeware i musi być w 100% legalny.

Proponuje C#.
Dlaczego ?
Bo jest wbrew pozorom prosty do nauczenia.
Dzieki .NETowi udostepnia latwe mechanizmy do dzialania na plikach.
Jest darmowy - wystarczy sciagnac .NET Framework SDK (jest w nim min. kompilator z lini polecen).
Oczywiscie mozna go bez problemu redystrybuowac.
Ma tylko jedna wade - potrzebuje .NET Framework, ktory trzeba sciagnac ze stron MSa.

Cytat(Bakus @ 2004-08-18 05:19:00)
  • Jakie strony polecacie do rozszeżenia wiedzy o proponowanym przez Was języku programowania?

http://www.microsoft.com/poland/developer/...c/gscsharp.aspx
http://www.developer.com/net/csharp/articl.../10918_925741_1 (na ostatniej stronie podane jest jak zkompilowac program z lini polecen)
http://msdn.com <------ tutaj znajdziesz odpowiedzi na wszystkie swoje pytania dotyczace c# winksmiley.jpg
FiDO
Od Longhorna .NET Framework ma byc juz zintegrowany z systemem, wiec bedzie latwiej.. a sama platforma ma duzy potencjal, a i programy pisze sie bardzo latwo, do wiekszosci podstawowych rzeczy sa bardzo wygodne klasy, wiec pisze sie raczej wysokopoziomowo.
Jako darmowe IDE (bo VS.NET raczej takim nie jest ?) polecam SharpDevelop.
Seth
Dodam jeszcze, ze SharpDevelop posiada polski interfejs smile.gif
Ozzy
Cytat
program musi być pojedynczym EXEkiem...

Czy to znaczy, że JAR odpada? sadsmiley02.gif
radzaw
w .net program nie jest pojedynczym exe'kiem - potrzeba do niego jeszcze ~25 MB runtime'a winksmiley.jpg

bodajze juz w windows 2003 .net jest standardowo instalowany.
spenalzo
A po co jakieś .NET do czegos tak prostego? ohmy.gif
VPascal jest za free, pod linuksa, windowsa i os2. Plik wynikowy zmieście sie pewnie w kilki kB.
Bakus
Muszę przyznać, że nie spodziewałem się aż tak wiekiego odzewu... smile.gif
Sądząc po screenie z http://www.icsharpcode.net/opensource/sd/ stworzenie takiego programiku w C# będzie zabawą...
Hieh... jak EXEk będzie za duży, to zobaczymy jak mi pójdzie z VirtualPascal'em smile.gif

Seth: Masz jakieś ebooki o C# ?


Aktualizacja:
C# pomimo olbrzymich możliwości o jakich czytałem (np. projekt "mono") jest bardzo ubogo udokumntowany w języku polskim... Z tąd moje kolejne pytania w tym wątku:
  • Jakie strony/książki na temat tego języka warto przeczytać?
  • Czy ktoś z Was może mi takową literaturę pożyczyć (przesyłki na mój koszt smile.gif ) ?
Ozzy
Mam 3 eBooki, mogę przesłać emailem na Twój koszt!
Eliasz
Witam wszystkich i przepraszam za wykopywanie tematu no ale winksmiley.jpg A teraz takie pytanie.

Mam programik zrobiony właśnie za pomocą SharpDevelopera i chciałbym go troche zmodyfikować. Czy da się to jakoś zrobić? dodam że programik zawiera się w ważącym ok. 20kB pliku *.exe. Innych plików nie mam, tylko jeden plik *.exe. Idzie coś z tym zrobić??

Jeżeli cokolwiek zmienie. np. chociażby w notatniku to program nie uruchamia się. Wystarczy że zmieni się data modyfikacji i już nie rusza.

Poradźcie coś. Piszcie tu albo ew. na GG 2940703


Pzdr.
tiraeth
Z tego Co mi się wydaję, choć nie jestem pewien, to exe jest wynikiem kompilacji do języka Assembler. Możesz poszukać w sieci Deassembler'a, który spowrotem przekompiluje exe do postaci kodu w języku, w którym został ten program napisany.
sirrus
Jeśli nie został, w jakiś ciekawy sposób, zabezpieczony przed deasamblacją smile.gif I tak apropo, zależy co chcesz zmienić w programie - bo assembler jak powszechnie wiadomo do łatwych i przyjemnych (to drugie bardziej tongue.gif) nie należy.

Co do postu Bakusia - ja mimo wszystko zrobiłbym to w Delphi, wystarczyła by chociażby wersja 2.0, która gdzieś kiedyś była na jakimś krążku Enter'owym za darmo. Oprogramowanie developerskie wchodzące w skład środowiska VS .NET i pracujące pod tymże wydaje mi się dla tak małych programików nieco przesadzone. Każda osoba uruchamiająca program musi instalować w swoim systemie .NET Frameworke'a jak wspomniał Seth (choć niedługo będzie to pewnie standardem), a sam pakiet Visual Studio to moloch - stworzony raczej dla dużych aplikacji. Delphi, albo czysty Turbo Pascal.
nospor
@eliasz
Jeśli nigdy nie bawiłeś się assemblerem, to nawet się za to nie zabieraj. Opanowanie podstaw i zrobienie własnego prostego programu w assemblerze jest dla większości nie do przejścia, a co dopiero rozgryźć czyjś kod w assemblerze, bez komentarzy, bez znajomości assemblera.
bela
Cytat(tiraeth @ 2005-04-28 06:27:56)
Z tego Co mi się wydaję, choć nie jestem pewien, to exe jest wynikiem kompilacji do języka Assembler. Możesz poszukać w sieci Deassembler'a, który spowrotem przekompiluje exe do postaci kodu w języku, w którym został ten program napisany.

A czy to przypadkiem nie jest .NET-owski bytecode ?;]
sztosz
@Bakus: Polecam C++, Kompilatorów jest masa, programik będzie maly, pójdzie na każdym windowsie, a jak kod nie bedzie miał zbędnych bajerów to i na Linuxie go skompilujesz. Martwi mnie to okienko sad.gif a czy nie moze byc tylko: wpisanie ścieżki dostepu do pliku? To bym sam zrobił w ramach uczenia się smile.gif
SongoQ
Podobnie jak @sztos polecam C++ dlaczego wszedzie dziala, nie wazne jaki system no chyba ze uzywasz funkcji niestandardowych. Odnoscnie .NET to pliczek ktory wazy np 20kB potrzebuje frameworka (np dla C#) o znacznie wikszej wadze. Jesli chesz to szybko napisac to ok, ale radzilbym C lub C++.

@Eliasz C# mozna przywrocic do postaci kodu jaki napisales. Sa gotowe narzedzia i wcale to nie bedzie assemblerowy kod.

@nospor Z tym sie zgadzam, chociaz bardzo dobrze wspominam kilka lat edukacji assemblera na 51 (hehehehe).

@tiraeth Jesli cos zostalo zapisane w postaci kodu assemblera to jeszcze nikt nie wymyslil czegos takiego jak deassembleracja do postaci kodu w jakim napisales.
nospor
@SongoQ no ja też assemblera lubilem. Jako jedyny z grupy wiedzialem co piszę winksmiley.jpg . POzostali na gotowcach jechali. Ale nie ma co się dziwić. Prowadzący też na gotowcach jechał laugh.gif . Wniosek: assembler trudny język.
dr_bonzo
Yeah assembler '51 rulez, macie jakis gotowce? tak jakby piotrzebuje tongue.gif
A na innym kursie mamy assembler RISC: tylko 3 instrukcje smile.gif i za pomoca nich musisz zapisac dodawanie, mnozenie, implementacje stosu itd -- to jest hardkor dopiero biggrin.gif
SongoQ
Trudny ach trudny. Nie zapomne tego mov dptr; djnz hehehe to byly czasy. Zeby pomnozyc 2 liczby musiales pomyslec jak to zrobic a teraz echo $a + $b; i masz wynik. Przynajmniej na podstawie assemblera zrozumialem jak dziala CPU.

Teraz jak pisze w php to nigdy nie mysle o pamieci o CPU, bo po co heheh:)

DODANE:
@dr_bonzo Jak cos potrzebujesz to sie odezwij na komunikator to moze w materialach cos znajde, a jak nie to sosbie odswierze pamiec i cos sie napisze.
nospor
Cytat
Zeby pomnozyc 2 liczby musiales ... a teraz echo $a + $b;

@songoq: jak ty tak mnożysz dwie liczby (poprzez dodawanie), to aż strach pomysleć jak Twoje skrypty działają laugh.gif
dr_bonzo
@nospor: przeciez pisal ze to robil w assemblerze smile.gif, aha -- pewnie mialo byc echo ( $a * $b) smile.gif


A coz w tym trudnego i w php mozna
  1. <?php
  2.  
  3. mov R1, $a
  4. inc R1
  5. mov A, $b
  6. LOOP:
  7. add A, A
  8. DJNZ R1, LOOP
  9.  
  10. ?>


@songoq: dziex, na razie sobie radze smile.gif
SongoQ
@nospor No faktycznie gafe walnolem oczywiscie mi chodzilo o *

W programowaniu jak w zyciu pomylki zawsze sie zdarzaja.

@dr_bonzo Mozna smile.gif I jak tu nie lubiec php smile.gif
Pamietam kiedys taki przyklad z assemblera na 51: on/off diody co 1s. Dostalismy na to 1h i kazdy sie meczyl juz nie pamietam czy sie komus udalo czy nie ale rywalizacja byla niezla.

OK koniec wspominania czas do pracy:)
Eliasz
OK Udało się.
Za pomocą jednego z narzędzi MS NET.Framework'a w wersji SDK udało mi się przekompilować (tak to się mówi?- nie wiem bo się nie znam na programowaniu;))
program który miałem w jednym pliku *.exe do plików *.il , *.resources i *.res. Potem otworzyłem uzyskane pliki w SharpDevelperze i już mogłem edytować.

A co chciałem zmienić? otóż program odwołuje się do pewnej strony, a dokładnie do bazy danych (w programiku był taki adres http://www.cośtam-cośtam/mybase.php\?user= ) , w której mnie nie ma tongue.gif a chciałbym być biggrin.gif. Zmieniłem więc adres tej bazy, teraz musze utworzyć swoją, jeszcze nie wiem jak biggrin.gif ale bede kombinował.

Dzięki wszystkim za odpowiedzi.
SongoQ
A tak z Ciekawosci zapytam, hasla moze tez udalo Ci sie odzyskac czy logowanie jest w aplikacji a nastepnie przesylane jest do interfejsu?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.