BG Development


Страници: (2) [1] 2 

Leo Публикувана на: 02-10-2011, 21:21

Мнения: 3
Преглеждания: 400
Да прав си.

Моята цел бе модела да е максимално отделен от останалата част на програмата. Така че ако ми трябва за нещо друго да мога лесно, да го преизползвам отново.
  Форум: Java  ·  Преглед: #282025

Leo Публикувана на: 28-09-2011, 21:41

Мнения: 3
Преглеждания: 400
Здравейте,

Надявам се въпроса ми да не е толкова тривиален, ако е значи лесно може да се реши.
Искам да реализирам MVC архитектура за една програма и съм решил за комуникацията между model и controller( да предположим че са два отделни класа) да изпозлвам Socket.


Създал съм отделни нишки за ServerSocket който е разположен в модела i Socket който е разположен в controller.

Controller се свързва към model и приема съобщенията пратени от modela.

Съобщенията ги пращам посредством метода sendMessage(String x)[1]
Проблема който се проявява при мен е че изпозлвам цикъл който обхожда метода getMessage и само когато има съобщение пратено чрез метод [1] го праща към controller. През останалото време цикъла върти напразно, което страшно много ми товари процесора.

CODE

while (flagMessageCycle || outputLine.equals("Bye") ) {
            // outputLine = getMessage(); // връща въпросният ред към клиента!!!
               if( outputLine != null)
               {
                   System.out.println( "Metod sends: " +outputLine );
                   out.println( outputLine); //send
                }
          }


Гледах някой примери в които се използваше input Stream и функцията readline(). В случаят програмата изчаква потребителя да въведе нещо и тогава го праща към другият сокет.

Искам да реализирам нещо подобно, цикъла да изчака метода да върне стринг който да се прати до controller.

Страшно ще съм ви благодарен за идеите как да реша този проблем.

Обновение:
Оправих проблема като синхронизирах методите за въвеждане и вземане на съобщението. Сега единият метод изчаква другият и така се решава проблема с вечното зацикляне.
  Форум: Java  ·  Преглед: #281898

Leo Публикувана на: 11-12-2008, 00:04

Мнения: 6
Преглеждания: 603
Много ми харесаха как са направили логата на Ferrari , Apple и Best Bay icon_smile.gif
  Форум: Разни  ·  Преглед: #199751

Leo Публикувана на: 08-05-2007, 20:16

Мнения: 6
Преглеждания: 440
пропуснал си ; пред out.open("tmp.txt")
  Форум: C/C++  ·  Преглед: #140418

Leo Публикувана на: 08-05-2007, 18:02

Мнения: 5
Преглеждания: 563
Мерси за отговорите, проблема с постоянното четене така и не разбрах защо се получава въпреки всичките проверки, наистина да се проверява с ferror и feof, си е безмислено, но пак не хвана грешката.
Пренеписах програмата:
CODE

          fscanf(fp,"%s",&tmp->c_nomer);
           fgets(c_temp,5,fp);
             fgets(tmp->c_ime,IME+1,fp);
             fgets(tmp->c_izdatelstvo, IZDATELSTVO+1, fp);
             fscanf(fp,"%c",&tmp->c_stat);
             fscanf(fp,"%d",&tmp->i_izdavane);
              fgets(c_temp,5,fp);
             fgets(tmp->c_avtor,AVTOR+1,fp);  
Ей така си бачка, като всяка променлива си я записвам на нов ред. Защото аз я тествам само с низове без интервали но по условие искат да има запис като име и фамилия. Това със fscanf няма как да стане, и май единственият начин щеше да е с цикъл четене символ по символ. Идеята ми е да си направя бърз работещ скелет на програмата пък после ако има време ще го очистя.

Идеята за memtest сега ще я пробвам и на мен не ми харесва как присвоявам записите в момента. Сега ще пробвам да напиша бинарното четене и записване , че и там пак се получават странни неща.

Пак някакви проблеми имам в записа тоя път при бинари.
ако всички променливи в структурата ги направя unsigned char, мога ли след това да запиша цялата структура
CODE

fwrite((char *) &date, sizeof(Node),1 , fp); a после да го чета с
fread((char *) &date, sizeof(Node),1,fp);

Това го пробвах в една малка програма , и после като я отворя с notepad,а си го чета без проблеми като текст това нормално ли е ?
  Форум: C/C++  ·  Преглед: #140400

Leo Публикувана на: 07-05-2007, 21:25

Мнения: 5
Преглеждания: 563
Здравейте, налага ми се да пише проект по С , в който основна роля играе двойния свързан списък. За съжаление програмирането не ми е най-голямата страст, но що годе поразбирам. Повече съм се занимавал със С++ и то някой дребни програми, така че от синтаксис що годе разбирам, само дето тези оказатели ми тровят душата icon_sad.gif
Това което съм задал е:
CODE

struct Node
{
       struct Node *prev,*next;
       uc c_nomer[NOMER+1];
       uc c_ime[IME+1];
       uc c_izdatelstvo[IZDATELSTVO+1];
       uc c_stat;
       int i_izdavane;
       uc c_avtor[AVTOR+1];
};
където uc е typedef на unsigned char
Мился че съм реализирам до някаква степен записа в списъка , но копирах от някъде сорс код и що годе го "закърпих" да тръгне.
CODE

Node *insertafter(Node *before, Node *s_data)
{
 Node* n;
 n = (Node *) malloc (sizeof(Node));
 n = s_data;
 
 //incase header node is not created
 if (!before)
 {
   n->prev = NULL;
   n->next = NULL;
   return n;
 }

 n->prev = before->prev;
 n->next = before;
 if (before->prev)
 {
   before->prev->next = n;
 }
 before->prev = n;
 
 return n;
}

Трябва да реализирам запис и четене в ASCII и бинари. В момента се мъча над ASCII , че поне с един редактор мога да отворя файла и да видя какво става там
За запис:
CODE

void save(void)
{
        FILE *fp;
        Node* t = begin(data);
    if((fp = fopen("test","w")) == NULL)
        {printf("Cannot open file!\n");exit(1);}
         while(t != NULL)
         {
           fprintf(fp,"%s  %s  %s  %c  %d  %s",t->c_nomer,t->c_ime,
           t->c_izdatelstvo,t->c_stat,t->i_izdavane,t->c_avtor);
             t = t->next;
         }
    fclose(fp);          
    }
Това уж тръгва проблема е че четенето много яко пропада въпреки че слагам някакви проверки за грешка и край на файла ето сорса:
CODE

void load(void)
{
struct Node* tmp =(Node *) malloc (sizeof(Node));
FILE *fp;
    if((fp = fopen("test","r")) == NULL)
        {
        printf("Cannot open file!\n");menu();}
         while(ferror(fp) == 0)
         {
           fscanf(fp,"%s  %s  %s  %c  %d  %s",&tmp->c_nomer,&tmp->c_ime,
             &tmp->c_izdatelstvo,&tmp->c_stat,&tmp->i_izdavane,&tmp->c_avtor);
            // if(feof(fp) != 0) break;
          data = insertafter(data,tmp);
          printf("\n");
          print(tmp);
          system("PAUSE");
          tmp =(Node *) malloc (sizeof(Node));
           }
           fclose(fp);    
}
Когато в файла има само един елемент, ф-ята продължава да чете и след това като побъркана, моля за някакъв съвет как да оправя тази каша
  Форум: C/C++  ·  Преглед: #140310

No New Posts  Задача ТУ-Варна (Страници 1 2 )
Leo Публикувана на: 02-03-2007, 17:37

Мнения: 13
Преглеждания: 1770
От Ту-Варна нямат голямо въображение и миналата година даваха същите задачи за КТТ, ама не е ли много рано за курсова задача?
Програмата е много лесна, правил съм я за има няма 2 часа, за един колега който и досега нищо не разбира от програмиране.
Един съвет по-добре му кажи да си купи книгата "Практически самоучител за С++" и да си я направи сам.
Междодругото ти какъв език си учил?
  Форум: C/C++  ·  Преглед: #133299

Leo Публикувана на: 25-02-2006, 15:18

Мнения: 4
Преглеждания: 470
Мерси за отговора Emu радвам се че има хора които искат да покажат на хората грешките, та по въпроса отначалото го бях сложил в while ама нешо не бачкаше,
незнам дали е от начина по който му зададох да чете файла с ifstream::get(int promenliva), вместо това пробвах с "screen>>" се оправи проблема

Поздрави icon_smile.gif
  Форум: C/C++  ·  Преглед: #92258

Leo Публикувана на: 24-02-2006, 21:58

Мнения: 4
Преглеждания: 470
Здравейте имам нужда от малко помощ, направих един цикал който обхожда даден файл посредством цикала while и незнам какъв иф да му сложа да следи когато настъпи края на файла да се прекъсне функцията, пробвах с
Като screen e дефинирано като ifstream screen
CODE
if(screen.eof())
{
 break;
}
  Форум: C/C++  ·  Преглед: #92165

Leo Публикувана на: 21-02-2006, 10:06

Мнения: 2
Преглеждания: 464
Ами добре щепробвам, иначе един ламерски въпрос:Какво разбираш под форматиране, защото сам извел само функцията в която има проблем или трябваше цялата програма да я препиша тук
  Форум: C/C++  ·  Преглед: #91641

Leo Публикувана на: 20-02-2006, 21:28

Мнения: 2
Преглеждания: 464
Здравейте моля ви за малка помощ, идеята ми е да копирам символ по символ от някакав файл информация и посредством strcpy да я прехвърля в различните променливи във структурата
Ето част от кода който мисля, че ще стане ясно за какво става въпрос:

CODE
struct Danni{
          char Ime[20];
          char Familia[20];
          char Prezime[20];
          char  Nomer[3];
          char Age[3];
          char EGN[9];
          };

void Izvezhdane()
{
      struct Danni danni_out[SIZE];
      ifstream screen;
      screen.open(DANNI,ios::in);
      if(!screen.is_open())
      {
            cout << "Error opening file";
            system("PAUSE");
            exit(1);
      }
      else if(screen.eof()) cout<<"\nWorning the fail\""<<DANNI<<"\" is empty";
      screen.setf(ios::skipws);
      char temp[20];
      
      int flag(1);
      //Ako flag=1 zapisva v promenlivata ime;flag=2 zapisva v promenlivata prezime
      //flag=3 zapisva v promenlivata Familiq;flag=4 zapisva nomer;flag =5->Godini
      //flag=6->EGN;
      int i(0);
      int danni_size(0);
      screen>>temp;
      if(*temp != '*') {cout<<"Error in datebase!!!"; main();}
      do{
            screen>>temp;
            switch(*temp){
            case '*': {flag=1;danni_size++;
                  strcpy(danni_out[danni_size-1].Ime,'\0');
                  strcpy(danni_out[danni_size-1].Prezime,'\0');
                  strcpy(danni_out[danni_size-1].Familia,'\0');
                  strcpy(danni_out[danni_size-1].Nomer,'\0');
                  strcpy(danni_out[danni_size-1].Age,'\0');
                  strcpy(danni_out[danni_size-1].EGN,'\0');
            screen>>temp;}
                  break;
            case ',':{
                  flag = flag+1;
                  screen>>temp;
                         }
                  break;
            case ':': {
                  flag=flag+1;
                  screen>>temp;
                  if(flag<4) {cout<<"gre6ka v 4eteneto na fajla";break;}}
                  break;
            };
                  
            switch(flag){
            case 1:
                  strcpy(danni_out[danni_size].Ime,temp);
                  strcat(temp,danni_out[danni_size].Ime);
                  break;
            case 2:
                  strcpy(danni_out[danni_size].Prezime,temp);
                  break;
            case 3:
                  strcpy(danni_out[danni_size].Familia,temp);
                  break;
            case 4:
                  strcpy(danni_out[danni_size].Nomer,temp);
                  break;
            case 5:
                  strcpy(danni_out[danni_size].Age,temp);
                  break;
            case 6:
                  strcpy(danni_out[danni_size].EGN,temp);
                  break;
            };

      }while(!screen.eof());
      system("PAUSE");

      screen.close();
}

Тази функция по чудо я компилирам, но незнам защо ми дава грешка при изпълнението на задачата.Досега не съм работил със структури и сигурно там ми е проблема, дайте някаква идея как да оправя нещата
Благодаря Предварително
  Форум: C/C++  ·  Преглед: #91599

No New Posts 
Leo Публикувана на: 11-08-2005, 21:45

Мнения:
Преглеждания:
хмм Karaman, ще препочъчаш ли нещо добро като Visual C++.NET за Windows, че аз прегледах Dev-C++ и съм много разочарован. Затова си оставах на Microsoft ,засега мисля че е най-професионалното решение
  Форум: Представяне  ·  Преглед: #65536

No New Posts 
Leo Публикувана на: 11-08-2005, 21:19

Мнения:
Преглеждания:
djgeorgie
Ако не държиш много на NAT функцията мога да ти препоръчам да замениш тази програма със CCproxy(има някакви проблеми със влизането в пощата на abv.bg) или ProxyPlus. И двете са безплатни май до 3 потребителя и двете лесно се настройват дори втората има web интерфес така,че лесно можеш да я насториш от друг комп, но хората зад сервера няма да могат да играят игри.
  Форум: Мрежови комуникации и технологии  ·  Преглед: #65532

No New Posts 
Leo Публикувана на: 23-06-2005, 18:16

Мнения:
Преглеждания:
А ето как истинските специалистки го правят
user posted image

П.П Не се отнася за дамите в този форум icon_biggrin.gif
  Форум: Разни  ·  Преглед: #58984

No New Posts 
Leo Публикувана на: 22-06-2005, 10:18

Мнения:
Преглеждания:
Има много хора които четат и се учат(нали затова е форума icon_wink.gif ) и няма смисъм да изкават некомпетентно мнение по някой въпрос което само да флуди темите.
soxy ако искаш активност мога да започвам от сега с темите защо едикое си нестава или помощ с едикакво си, но просто си мисля,че е по-добре първо да пробвам да си реша проблема сам и ако не успея да търся помощ.
  Форум: За Форума  ·  Преглед: #58749

No New Posts 
Leo Публикувана на: 15-06-2005, 16:34

Мнения:
Преглеждания:
Миналата година да е нямало ден без да съм джиткал Heroes или Unreal Tournament, но от 3 месеца нищо не съм бутал, то и с моята остаряла машина не си струва да се играят новите игри с low details
  Форум: Разни  ·  Преглед: #57639

Leo Публикувана на: 07-05-2005, 12:36

Мнения: 12
Преглеждания: 657
Може да пробваш с тази програма Dosbox, пише че е емулатор за стари игри.
  Форум: Разни  ·  Преглед: #51697

Leo Публикувана на: 05-05-2005, 20:00

Мнения: 53
Преглеждания: 3255
С удоволствие бих си купил една фланелка кодер едитион
  Форум: Разни  ·  Преглед: #51498

Leo Публикувана на: 03-05-2005, 18:52

Мнения: 14
Преглеждания: 1373
Има една доста старичка програма казва се RAVE 2, само задаваш ip`to и си приказваш, ако не търсиш много екстри, според мен ще ти свърши работа.
  Форум: Мрежови комуникации и технологии  ·  Преглед: #51108

Leo Публикувана на: 03-05-2005, 18:39

Мнения: 6
Преглеждания: 379
Много як сайт, токущо изгорих сайта на мирософт с цигара icon_lol.gif

П.С аз съм с FireFox 1.03 и незабелязах никакъв бъг
  Форум: Разни  ·  Преглед: #51106

Leo Публикувана на: 24-04-2005, 21:19

Мнения: 22
Преглеждания: 3177
Програмата е за създаване на инсталация на WindowsXp която можеш да орежеш колкото ти душа иска, дори можеш да си вградиш драйверите на устройствата.
След това печеш на подходяща тепература и ето ти по-добрата инсталация на Windows.
За съжаление неможеш да работиш с вече инсталиран такъв. Имаше някаква точно за премахване на IE, но неможах да я намеря.
  Форум: Разни  ·  Преглед: #49900

Leo Публикувана на: 23-04-2005, 18:21

Мнения: 22
Преглеждания: 3177
NIKITA знам, че не е точно по темата, но nlite е страхотна програма като става дума за защита на компютъра, наскоро си направих инсталация на WinXP Sp2 с нея, махнал съм всички сервизи през които може да ме посети някой неприятен гост, дори и най-големия бъг на Microsoft- internet explorer е заличен , карам си спокойно с FireFox icon_cool.gif . Ако Windowsa ти бъгася след известно време(от тая боза друго неможе да се очаква icon_twisted.gif ), можеш да използваш направената от програмата инсталация на WinXP, вместо пак да си играеш с изключването им.
  Форум: Разни  ·  Преглед: #49761

No New Posts  БТК (Страници 1 2 )
Leo Публикувана на: 06-04-2005, 18:54

Мнения: 16
Преглеждания: 807
Не за dial-up интернет се плаща за, както казваше някой от форума няма безплатен обяд icon_lol.gif
  Форум: Разни  ·  Преглед: #47470

No New Posts  FUN (Страници 1 2 )
Leo Публикувана на: 21-03-2005, 19:28

Мнения: 10
Преглеждания: 1133
QUOTE (HEA @ 06-03-2005, 20:33)
Смешен тест

какво файлово разширение сте


Аз съм user posted image
icon_lol.gif icon_lol.gif icon_lol.gif
  Форум: Разни  ·  Преглед: #45159

Poll Анкета: Какъв IM използвате? (Страници 1 2 3 )
Leo Публикувана на: 17-03-2005, 00:26

Мнения: 26
Преглеждания: 1190
Гласвам за Gaim, много по-удобна е от ICQ, също така използва plug-in.
Тя е open source проект(мисля че я има и за линукс).
Като единствен недостатък е възможността да търсиш хора само по номер.
  Форум: Разни  ·  Преглед: #44582

Страници: (2) [1] 2 
New Posts  Отворена тема (има нови мнения)
No New Posts  Отворена тема (няма нови мнения)
Hot topic  Гореща тема (има нови мнения)
No new  Гореща тема (няма нови мнения)
Poll  Анкета (има нови гласували)
No new votes  Анкета (няма нови гласували)
Closed  Заключена тема
Moved  Преместена тема

Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0