[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    ну обрабатываешь ошибку, и если надо то выводишь через showmessage('string'); или через MessageBox(параметры сам поищи)
     
  2. RAINUR2

    RAINUR2 New Member

    Joined:
    27 Aug 2009
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Ой. извините, в реале чет тупанул:)
     
  3. RAINUR2

    RAINUR2 New Member

    Joined:
    27 Aug 2009
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Как еще можно убрать пробелы???ункция какая???Хорошо бы что бы полностью все пробелы убрал
     
  4. RAINUR2

    RAINUR2 New Member

    Joined:
    27 Aug 2009
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Так же у меня есть форма для где я рисую, как его очистить
     
  5. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Если графика через canvas то читай тут http://base.vingrad.ru/view/1532-Kak-ochistit-canvas. Да и вообще гугл юзай ))
     
  6. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32
    c := s[номер символа]

    UPD: *c := s[1];
     
    #5326 h(f)ucker, 17 Feb 2010
    Last edited: 17 Feb 2010
    2 people like this.
  7. transserg

    transserg Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    Nightmarе строка начинает с 1го символа
    Code:
    c:=S[1];
    
     
    1 person likes this.
  8. Soherox

    Soherox Member

    Joined:
    17 Feb 2010
    Messages:
    45
    Likes Received:
    16
    Reputations:
    0
    в нулевой ячейке хранится длина строки (очень полезная информация, на будущее), поэтому облом, потому что ты строковой переменной присваиваешь число.
     
    1 person likes this.
  9. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    Code:
    [Error] Unit1.pas(33): Element 0 inaccessible - use 'Length' or 'SetLength'
    ^_^


    PS: каким образом можно определить правильность/неправильность пароля NT юзера?
     
    #5329 [stranger], 18 Feb 2010
    Last edited: 18 Feb 2010
  10. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 [stranger] поищи на форуме. Уже обсуждалось. Там есть апишка по которой можно определить существует ли пользователь с заданным именем и паролем или нет.
    Ну или попробовать временно зайти в пользовательское пространство того пользователя, т.е. есть апишка которой даешь имя пользователя и пароль и после её выполнения ты попадаешь в его пространство (если пас правильный), потом можно выйти из него. Некий аналог временного получения других прав
     
  11. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    спасибо, нашел! до этого гуглил, но безрезультатно.. а целенаправленно по ачату помогло.. :)
     
  12. ZARO

    ZARO Elder - Старейшина

    Joined:
    17 Apr 2009
    Messages:
    327
    Likes Received:
    129
    Reputations:
    54
    В нулевой ячейка хранится размер строки, но для его просмотра нужна функция Length(строка).
     
  13. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    Как с помощью delphi залить фото вк?
    Хотябы через webbrowser
     
    1 person likes this.
  14. denjf

    denjf Member

    Joined:
    12 Nov 2008
    Messages:
    88
    Likes Received:
    12
    Reputations:
    -1
    c:=Pchar(s);
     
  15. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    как я понял тебе надо передать файл
    Вот пример на Indy: http://antigate.com/delphi.zip (Передача картинки на антикапчу)
    А если надо на сокетах, то открывай файл и передавай его в мультипосте
     
  16. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    Рисует график не тот что надо

    Вот ссылка на то что должно получится http://xmages.net/upload/1496d668.jpg
    http://xmages.net/upload/151f94b2.png

    Code:
    {Programm for y(x)=sgrs a*x+b.}
    program grafic;
    uses crt,graph;
    var
       grminx,grminy,
       grmaxx,grmaxy      : integer;
       a, b,
       stepx,
       minx,miny,
       maxx,maxy          : real;
       flag               : boolean;
       punkt              : integer;
       s                  : string;
       ercode             : integer;
    
    
    function pow(x,p:real):real;
    begin
       pow:=exp(ln(x)*p);
    end;
    
    
    function log10(x:real):real;
    begin
       log10:=ln(x)/ln(10);
    end;
    
    
    function grinit:boolean;
    var
       grdriver,          
       grmode,              
       ercode    :integer;  
    begin
       grinit  := True;
       grdriver:= Detect;
       initgraph(grdriver,grmode,'C:\lang\bp\BGI');
       ercode:=graphresult;         
       if ercode<>grok then
          begin
            writeln('error graphic:',grapherrormsg(ercode));
            writeln('programm is stopped. ');
            grinit := False;
          end;
    end;
    
    
    function getgrx(x:real):integer;
    begin
       getgrx:=round((grmaxx-grminx)/(maxx-minx)*(x-minx))+grminx;
    end;
    
    
    
    function getgry(y:real):integer;
    begin
       getgry:=round((grmaxy-grminy)/(maxy-miny)*(y-miny))+grminy;
    end;
    
    
    function f(a,b,x:real):real;
    begin
       f:=sqrt(a*x+b);
    end;
    
    procedure GetMaxMinY(var miny : real; var maxy : real);
    var
      x,y : real;
    begin
    
       miny := f(a,b,minx);
       maxy := f(a,b,minx);
       x    := minx+stepx;
       repeat
          y:=f(a,b,x);
          if y<miny  then miny:=y;
          if y>maxy  then maxy:=y;
          x:=x+stepx;
       until x>maxx;
    end;
    
    
    procedure FindXYAxes(var x : integer; var y:integer);
    begin
    
       if ((getgrx(0)>=grminx) and (getgrx(0)<=grmaxx)) then
         x := getgrx(0)
       else
         x := grminx;
    
    
       if ((getgry(0)<=grminy) and (getgry(0)>=grmaxy)) then
         y := getgry(0)
       else
         y := grminy;
    end;
    
    
    procedure DrawMesh;
    var
       labelsx,labelsy,
       blockx,blocky,
       tens               : real;
       grx,gry            : integer;
       s                  : string;
       x,y                : real;
       axisx,axisy        : integer;
    begin
    
       setcolor(lightgreen);
       rectangle(grminx,grminy,grmaxx,grmaxy);
       rectangle(grminx-1,grminy-1,grmaxx+1,grmaxy+1);
    
       labelsx:=15;
       labelsy:=15;
    
    
       blockx:=(maxx-minx)/labelsx;
    
       tens:=pow(10,round(log10(blockx)));
       blockx:=int(blockx/tens+1)*tens;
    
    
       blocky:=(maxy-miny)/labelsy;
    
       tens:=pow(10,round(log10(blocky)));
       blocky:=int(blocky/tens+1)*tens;
    
    
       settextstyle(SmallFont,HorizDir,2);
    
    
       FindXYAxes(axisx,axisy);
    
    
       x:=int(minx/blockx)*blockx;
    
       repeat
    
          grx:=getgrx(x);
    
          if ((grx>=grminx) and (grx<=grmaxx)) then
          begin
    
            setcolor(darkgray);
            line(grx,grminy,grx,grmaxy);
    
            setcolor(lightgreen);
            line(grx,axisy-2,grx,axisy+2);
    
            setcolor(yellow);
            str(x:5:2,s);
            outtextxy(grx+2,axisy+2,s);
          end;
          x:=x+blockx;
       until x>maxx;
    
    
       y:=int(miny/blocky)*blocky;
    
    
    
    
       repeat
          gry:=getgry(y);
    
    
          if ((gry<=grminy) and (grx>=grmaxy)) then
          begin
    
            setcolor(darkgray);
            line(grminx,gry,grmaxx,gry);
    
            setcolor(lightgreen);
            line(axisx-2,gry,axisx+2,gry);
    
    
            setcolor(yellow);
            str(y:5:2,s);
            outtextxy(axisx+2,gry+2,s);
          end;
          y:=y+blocky;
       until y>maxy;
    
    end;
    
    procedure DrawAxes;
    var
      s : string;
      axisx, axisy : integer;
    begin
    
       FindXYAxes(axisx,axisy);
    
       setfillstyle(0,0);
    
       bar(getgrx(0)+1,getgry(0)+1,getgrx(0)+40,getgry(0)+15);
       outtextxy(getgrx(0)+4,getgry(0)+2,'0');
    
    
       setcolor(white);
       line(getgrx(minx)-20,axisy,getgrx(maxx)+20,axisy);
    
    
       moveto(getgrx(maxx)+20,axisy);
       linerel(-10,2);   linerel(3,-2);   linerel(-3,-2);   linerel(10,2);
    
    
       outtextxy(getgrx(maxx)+15,axisy-10,'x');
    
    
       line(axisx,getgry(miny)+20,axisx,getgry(maxy)-20);
    
    
       moveto(axisx,getgry(maxy)-20);
       linerel(2,10);   linerel(-2,-3);   linerel(-2,3);   linerel(2,-10);
    
       outtextxy(axisx-15,getgry(maxy)-10,'y');
    
       str(a:4:2,s);
       s := ' y(x)='+s+'*sin(x)) - sinusoid';
       outtextxy(GetMaxX div 2 - 100 ,GetMaxY-25,s);
    end;
    
    procedure DrawGraphic;
    var
      first : boolean;
      grx,gry : integer;
      x,y : real;
    begin
    
       setcolor(LightBlue);
       first:=true;
       x:=minx;
    
       repeat
          y:=f(a,b,x);
    
          grx:=getgrx(x);
          gry:=getgry(y);
          if first then
             begin
                moveto(grx,gry);
                putpixel(grx,gry,getcolor);
                first:=false;
             end
             else lineto(grx,gry);
          x:=x+stepx;
       until x>maxx;
    end;
    
    BEGIN
       flag := false;
       repeat
         clrscr;
         writeln('   --== MENU ==--');
         writeln('1. Input parameter function');
         writeln('2. Draw graph function');
         writeln('3. Exit');
         writeln;
         writeln('Choose point menu -> ');
         readln(punkt);
         case punkt of
         
      1:begin
               clrscr;
               repeat
                 repeat
                   writeln('Input min value x (radian) -> ');
                   readln(s);
                   val(s,minx,ercode);
                   if (ercode <> 0) then
                     writeln('Error min value x!');
                 until (ercode=0);
                 repeat
                   writeln('Input max value x (radian) -> ');
                   readln(s);
                   val(s,maxx,ercode);
                   if (ercode <> 0) then
                     writeln('Error max value x !');
                 until (ercode=0);
                 if (minx>=maxx) then
                   writeln('Min value x must be smaller max!');
               until (minx<maxx);
    
    
               repeat
                 writeln('Input value a -> ');
                 readln(s);
                 val(s,a,ercode);
                 if (ercode <> 0) then
                   writeln('Error value a!');
               until (ercode=0);
               flag := true;
    
                repeat
                 writeln('Input value b -> ');
                 readln(s);
                 val(s,a,ercode);
                 if (ercode <> 0) then
                   writeln('Error value b!');
               until (ercode=0);
               flag := true;
           end;
    
    
           2: begin
    
             if (flag) then
             begin
                if (grinit) then
                begin
                   grminx:=48;
                   grmaxx:=getmaxx-48;
                   grminy:=getmaxy-48;
                   grmaxy:=24;
                   stepx:=(maxx-minx)/150;
                   GetMaxMinY(miny,maxy);
                   DrawMesh;
                   DrawAxes;
                   DrawGraphic;
                   readkey;
                   closegraph;
                end
             end
             else
               begin
                  writeln('You need at the fist choose point 1 for value function!');
                  readkey;
               end;
           end;
         end;
       until (punkt=3);
    END.
     
    #5336 NTFF, 21 Feb 2010
    Last edited by a moderator: 21 Feb 2010
  17. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    У меня такой вопрос.Как в паскале записать двумерный массив в текстовый файл так,чтобы в файле этот массив отображался как таблица,а не как строка из чисел
     
  18. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ну так ставь пробелы(или еще лучше табуляторы) и переходы на новую строки
     
  19. TrueBit

    TrueBit Member

    Joined:
    21 Nov 2009
    Messages:
    71
    Likes Received:
    19
    Reputations:
    4
    Как узнать из какой папки открыта программа?
     
  20. transserg

    transserg Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    TrueBit
    Code:
    DWORD WINAPI GetModuleFileName(
      __in_opt  HMODULE hModule,
      __out     LPTSTR lpFilename,
      __in      DWORD nSize
    );
    
    С помощью GetModuleFileName получаешь путь до своей проги!
    ссылка на описание
     
    #5340 transserg, 23 Feb 2010
    Last edited: 23 Feb 2010
    1 person likes this.
Thread Status:
Not open for further replies.