Bakus
18.08.2004, 05:19:00
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
)
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...

Na zakończenie dodam, że PHPGTK odpada - program musi być pojedynczym EXEkiem...
radzaw
18.08.2004, 10:04:32
Jak lizałeś pascala to może teraz weź się za
Delphi ? Istnieje wersja personal, tylko nie wiem jak w licencji wyglada sprawa freeware.
Listę kompilatorów masz tutaj :
http://www.bloodshed.net/compilers/index.htmlJęzyk:
C/C++ (te okienka to np. WinAPI jeśli nie ma jakiś klas w komiplatorze ułatwiających sprawę

)
Np. kompilator stąd:
http://www.bloodshed.net/devcpp.htmlSkąd się uczyć?
Pożyczyć książkę, a potem studiować pomoc
spenalzo
18.08.2004, 16:04:33
Seth
18.08.2004, 18:48:43
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.aspxhttp://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#
FiDO
18.08.2004, 19:27:20
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
18.08.2004, 20:27:11
Dodam jeszcze, ze SharpDevelop posiada polski interfejs
Ozzy
18.08.2004, 20:55:31
Cytat
program musi być pojedynczym EXEkiem...
Czy to znaczy, że JAR odpada?
radzaw
18.08.2004, 22:56:54
w .net program nie jest pojedynczym exe'kiem - potrzeba do niego jeszcze ~25 MB runtime'a

bodajze juz w windows 2003 .net jest standardowo instalowany.
spenalzo
18.08.2004, 23:08:32
A po co jakieś .NET do czegos tak prostego?

VPascal jest za free, pod linuksa, windowsa i os2. Plik wynikowy zmieście sie pewnie w kilki kB.
Bakus
19.08.2004, 00:08:19
Muszę przyznać, że nie spodziewałem się aż tak wiekiego odzewu...

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

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
) ?
Ozzy
20.08.2004, 16:36:29
Mam 3 eBooki, mogę przesłać emailem na Twój koszt!
Eliasz
27.04.2005, 22:28:40
Witam wszystkich i przepraszam za wykopywanie tematu no ale

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
28.04.2005, 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.
sirrus
28.04.2005, 07:47:58
Jeśli nie został, w jakiś ciekawy sposób, zabezpieczony przed deasamblacją

I tak apropo, zależy co chcesz zmienić w programie - bo assembler jak powszechnie wiadomo do łatwych i przyjemnych (to drugie bardziej

) 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
28.04.2005, 07:56:24
@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
28.04.2005, 08:05:12
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
28.04.2005, 08:08:37
@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

a czy nie moze byc tylko: wpisanie ścieżki dostepu do pliku? To bym sam zrobił w ramach uczenia się
SongoQ
28.04.2005, 10:41:44
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
28.04.2005, 11:07:07
@SongoQ no ja też assemblera lubilem. Jako jedyny z grupy wiedzialem co piszę

. POzostali na gotowcach jechali. Ale nie ma co się dziwić. Prowadzący też na gotowcach jechał

. Wniosek: assembler trudny język.
dr_bonzo
28.04.2005, 11:25:12
Yeah assembler '51 rulez, macie jakis gotowce? tak jakby piotrzebuje

A na innym kursie mamy assembler RISC: tylko 3 instrukcje

i za pomoca nich musisz zapisac dodawanie, mnozenie, implementacje stosu itd -- to jest hardkor dopiero
SongoQ
28.04.2005, 11:41:36
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
28.04.2005, 11:49:20
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ą
dr_bonzo
28.04.2005, 11:57:04
@nospor: przeciez pisal ze to robil w assemblerze

, aha -- pewnie mialo byc echo ( $a * $b)

A coz w tym trudnego i w php mozna
<?php
mov R1, $a
inc R1
mov A, $b
LOOP:
add A, A
DJNZ R1, LOOP
?>
@songoq: dziex, na razie sobie radze
SongoQ
28.04.2005, 12:08:41
@nospor No faktycznie gafe walnolem oczywiscie mi chodzilo o *
W programowaniu jak w zyciu pomylki zawsze sie zdarzaja.
@dr_bonzo Mozna

I jak tu nie lubiec php

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
28.04.2005, 20:26:58
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

a chciałbym być

. Zmieniłem więc adres tej bazy, teraz musze utworzyć swoją, jeszcze nie wiem jak

ale bede kombinował.
Dzięki wszystkim za odpowiedzi.
SongoQ
28.04.2005, 20:41:27
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.