NASZE SERWISY:    ANDROID   LINUX   MAEMO   SYMBIAN   WEBOS




Hosting sponsoruje:



GRIN3 - polskie fonty

Profesjonalne czcionki z polskimi znakami - czcionki.com

OpenMobile on Facebook


 

Jak w najprostszy sposób przerobić program z czystego C++ na symbianowy??

Jak w najprostszy sposób przerobić program z czystego C++ na symbianowy??

Postprzez McProGamer » 19 września 2010, o 15:12

Jak w temacie, chcę program napisany w zwykłym C++ przebudować w taki sposób, by można go było używać na dowolnym telefonie z symbianem(S60v3).
kod źródłowy tego programu w czystym c++ (nie zoptymalizowany, nie chciało mi się):
Kod: Zaznacz cały
#include<iostream>
#include<cmath>
using namespace std;
main()
{
      int s,a,b,c,tab[10],p;
      double suma,x,ww[100],wpnp[100],dane[100],dzie[200],d;
       
      cout<<"Podaj stopoien wielomianu: ";
      cin>>s;
      cout<<endl;
      cout<<"Podaj kolejne wspolczynniki:"<<endl;
      switch(s)
      {
               case 10:cout<<"*x^10 = ";cin>>tab[10];
               case 9:cout<<"*x^9 = ";cin>>tab[9];
               case 8:cout<<"*x^8 = ";cin>>tab[8];
               case 7:cout<<"*x^7 = ";cin>>tab[7];
               case 6:cout<<"*x^6 = ";cin>>tab[6];
               case 5:cout<<"*x^5 = ";cin>>tab[5];
               case 4:cout<<"*x^4 = ";cin>>tab[4];
               case 3:cout<<"*x^3 = ";cin>>tab[3];
               case 2:cout<<"*x^2 = ";cin>>tab[2];
               case 1:cout<<"*x   = ";cin>>tab[1];
               case 0:cout<<"WW   = ";cin>>tab[0];
      }
      cout<<endl;
     
                     
      for(int i=s;i>0;i--)
      {
              cout<<tab[i]<<"x^"<<i;
              if(tab[i-1]>0)
              {
                            cout<<"+";
              }
      }
      cout<<tab[0]<<"=0"<<endl<<"_______________________________________"<<endl;
      a=0;
      b=0;
      c=0;
      for(int i=1;i<=tab[0];i++)
      {
              if(tab[0]%i==0)
              {
                             ww[a]=i;
                             //cout<<i<<" ";
                             a++;
              }
      }
      //cout<<endl;
      for(int i=1;i<=tab[s];i++)
      {
              if(tab[s]%i==0)
              {
                             wpnp[b]=i;
                             //cout<<i<<" ";
                             b++;
              }
      }
      //cout<<endl;
      for(int i=0;i<a;i++)
      {
              for(int j=0;j<b;j++)
              {
                      x=ww[i]/wpnp[j];
                      p=0;
                      for(int k=0;k<c;k++)
                      {
                              if(x==dzie[k])
                              {
                                          p=1;
                           
                                         
                                       
                              }
                      }
                     
                      if(p==0)
                      {
                              dzie[c]=x;
                              c++;
                      }
              }
      }
      for(int i=0;i<c;i++)
      {
                      x=dzie[i];                   
                      suma=0;
                      switch(s)
                      {
                               case 10:suma=suma+tab[10]*x*x*x*x*x*x*x*x*x*x;
                               case 9:suma=suma+tab[9]*x*x*x*x*x*x*x*x*x;
                               case 8:suma=suma+tab[8]*x*x*x*x*x*x*x*x;
                               case 7:suma=suma+tab[7]*x*x*x*x*x*x*x;
                               case 6:suma=suma+tab[6]*x*x*x*x*x*x;
                               case 5:suma=suma+tab[5]*x*x*x*x*x;
                               case 4:suma=suma+tab[4]*x*x*x*x;
                               case 3:suma=suma+tab[3]*x*x*x;//cout<<suma<<endl;
                               case 2:suma=suma+tab[2]*x*x;//cout<<suma<<endl;
                               case 1:suma=suma+tab[1]*x;//cout<<suma<<endl;
                               case 0:suma=suma+tab[0];//cout<<suma<<endl;
                      }
                      if(suma==0)
                      {
                                 cout<<endl<<"Dla x = "<<x<<endl<<"Wynik = "<<suma<<endl<<"_______________________________________"<<endl;;
                      }
                      suma=0;
                      x=-x;
                      switch(s)
                      {
                               case 10:suma=suma+tab[10]*x*x*x*x*x*x*x*x*x*x;
                               case 9:suma=suma+tab[9]*x*x*x*x*x*x*x*x*x;
                               case 8:suma=suma+tab[8]*x*x*x*x*x*x*x*x;
                               case 7:suma=suma+tab[7]*x*x*x*x*x*x*x;
                               case 6:suma=suma+tab[6]*x*x*x*x*x*x;
                               case 5:suma=suma+tab[5]*x*x*x*x*x;
                               case 4:suma=suma+tab[4]*x*x*x*x;
                               case 3:suma=suma+tab[3]*x*x*x;//cout<<suma<<endl;
                               case 2:suma=suma+tab[2]*x*x;//cout<<suma<<endl;
                               case 1:suma=suma+tab[1]*x;//cout<<suma<<endl;
                               case 0:suma=suma+tab[0];//cout<<suma<<endl;
                      }
                      if(suma==0)
                      {
                                 cout<<endl<<"Dla x = "<<x<<endl<<"Wynik = "<<suma<<endl<<"_______________________________________"<<endl;;
                      }
      }
      system("pause");
      return 0;
}         

czy jest to możliwe i czy byłby ktoś tak uprzejmy i pomógłby mi to zrobić??

P.S. Propozycje rozwiązania problemu piszcie w tym temacie, w przypadku chęci bliższej pomocy : kontakt przez maila (mcprogamer@gmail.com) albo gg 6348199
Ostatnio edytowano 19 września 2010, o 15:18 przez McProGamer, łącznie edytowano 1 raz
McProGamer
1%
1%
 
Posty: 4
Dołączył(a): 16 sierpnia 2009, o 19:14
Mod.tel.: E63
    WindowsXPSafari

Re: Jak w najprostszy sposób przerobić program z czystego C++ na symbianowy??

Postprzez temp333 » 19 września 2010, o 15:17

Na Symbiana masz DosBoxa - wystarczy, że przekompilujesz program pod DOS(nie konsola Win32).
temp333
60%
60%
 
Posty: 591
Dołączył(a): 13 września 2007, o 16:33
Mod.tel.: T630
    WindowsXPOpera

Re: Jak w najprostszy sposób przerobić program z czystego C++ na symbianowy??

Postprzez McProGamer » 19 września 2010, o 15:26

ok, spróbuję, ale wolałbym, żeby była to aplikacja instalowana z *.sis lub *.sisx, byłby łatwiejszy w użyciu i mógłbym go porozsyłać kumplom.
dosbox nie działa, mam e63, nie działa klawisz funkcyjny.....
McProGamer
1%
1%
 
Posty: 4
Dołączył(a): 16 sierpnia 2009, o 19:14
Mod.tel.: E63
    WindowsXPSafari

Re: Jak w najprostszy sposób przerobić program z czystego C++ na symbianowy??

Postprzez mawhy » 19 września 2010, o 23:14

Proste aplikacje konsolowe w C++ można kompilować bez problemu w Carbide C++ o ile użytkownik komórki będzie miał zainstalowane pips.sis i stioserver.sis.
Na początek radzę z SDK dowiedzieć się jak programuje się w Open C++ na przykładzie C:\S60\devices\S60_5th_Edition_SDK_v1.0\Examples\Stdlib\ConsoleApp

Ponieważ na rożnych komórkach są rożne wersje Open C++ więc lepiej czasami warto zaprogramować sobie w Pythonie albo w M-Shell. Pisanie skryptów jest o wiele szybsze niż grzebanie się w plikach C++ Najnowsza wersja Open C++ pochodzi z sierpnia 2010 http://www.forum.nokia.com/info/sw.noki ... ug-In.html a wersja Pythona na Symbian jest tu: https://garage.maemo.org/frs/?group_id=854

Odpowiadając wprost na pytanie - nie ma prostej możliwości przeniesienia kodu z standardowego C++ do kodu AVKON jak skompilowanie kodu biblioteki pod bibliotekę OpenC++ i napisanie kodu interfejsu AVKON obsługującego taką bibliotekę. Przykład to klient FTP: http://www.forum.nokia.com/info/sw.noki ... ample.html
Przepisanie kodu na wersje na Symbian wymaga znajomości już architektury Symbiana i nie będzie to łatwym zadaniem napisać to od zera.

Pozdrawiam
Michał Małaj
mawhy
30%
30%
 
Posty: 104
Dołączył(a): 19 stycznia 2008, o 00:24
Lokalizacja: Lublin
    WindowsSafari

Re: Jak w najprostszy sposób przerobić program z czystego C++ na symbianowy??

Postprzez sebax » 30 września 2010, o 19:44

No tu też się nie zgodzę, że to takie trudne jest i wymaga znajomości avkon(do czego?) itp. Jest PIPS, jest OpenC, nauczyć się dwóch klas na krzyż, odpalić CConsoleBase czy CEikConsole jak ktoś zna eikon ;)

W sdk cały kod przykładowy do nauki najprostszych cech systemu zrobiony jest pod konsole.
sebax
10%
10%
 
Posty: 48
Dołączył(a): 19 grudnia 2006, o 00:06
    WindowsFirefox


Powrót do Symbian C++

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron