Компоненты для Delphi/C++Builder ~ Components for Delphi/C++Builder 6 | Страница 93 | BESK.SU - программирование без границ (c) 2025

Компоненты для Delphi/C++Builder ~ Components for Delphi/C++Builder 6

Статус
В этой теме нельзя размещать новые ответы.

DJVK

Турист
Credits
0
Правим компоненты TMS Component Pack 6.5.0.0.
делаем нормальное дерево для решетки TAdvStringGrid

результат: узлы дочерние будут привязаны к узлам родительским, а не висеть в воздухе, не будет лишних вертикальных линий

Код:
function  TAdvStringGrid.GetNodeSpanType(ARow: Integer): Integer;
var
  i: Integer;
begin
  Result := 0;

  if IsNode(ARow) then
  begin
    Exit;
  end;

  if ARow >= RowCount - FixedFooters - 1 then
  begin
    Result := 1;
    Exit;
  end;

  if HasCellProperties(0,ARow + 1) then
  begin
    if (CellProperties[0,ARow + 1].NodeLevel >= CellProperties[0,ARow].NodeLevel) then
    begin
      if (CellTypes[0,ARow + 1] = ctNode) then Result := 1
      else Result := 2;
    end
    else
      Result := 1;
  end
  else
  begin
    Result := 1;
  end;

  Exit;
...
procedure DrawCellGraphic(r: TRect; CellGraphic: TCellGraphic; VertAlign: TVAlignment);
Код:
...
    ctNode:
    begin
      r.Left := NodeIndent(ARow)  - CellNode.NodeIndent;

      if FCellNode.ShowTree and (ARow >= FixedRows) {and not CellGraphic.CellBoolean} then
      begin
        Canvas.Pen.Color := FCellNode.TreeColor;
        Canvas.Pen.Width := 1;

//        if (ACol < FixedCols) and not Flat and (Flook in [glTMS,glXP,glListView,glSoft]) then
//          r.Left := r.Left - 1;

        if (NodeIndent(ARow + 1) > 0) and (ARow + 1 < RowCount) and not (NodeState[ARow] and (NodeIndent(ARow + 1) < NodeIndent(ARow))  )  then
        begin
          PrevIndent:=r.Left + 2 - CellNode.NodeIndent div 2;
          if(PrevIndent<2) then PrevIndent:=2;
          Canvas.MoveTo(PrevIndent,r.Top + (r.Bottom - r.Top) div 2);
          Canvas.LineTo(r.Left + 2 + CellNode.NodeIndent div 2,r.Top + (r.Bottom - r.Top) div 2);
          Canvas.LineTo(r.Left + 2 + CellNode.NodeIndent div 2,r.Bottom);
        end;

        {if (NodeIndent(ARow - 1) >= NodeIndent(ARow)) then
        begin
          Canvas.MoveTo(r.Left + 2 + CellNode.NodeIndent div 2,r.Top);
          Canvas.LineTo(r.Left + 2 + CellNode.NodeIndent div 2,r.Top + 6);
        end;}

        if (ACol < FixedCols) and not Flat and (Flook in [glTMS,glXP,glListView,glSoft]) then
          r.Left := r.Left + 1;
      end;
...
procedure TAdvStringGrid.DrawGridCell(Canvas: TCanvas; ACol, ARow : longint; ARect : TRect;
AState : TGridDrawState);
Код:
...
NodeRow,NodeLevel,CurrentLevel: integer;

...
  if (FNumNodes > 0) and (ACol = 0) and (ARow >= FixedRows) and (FCellNode.ShowTree) then
  begin
    Canvas.Pen.Color := FCellNode.TreeColor;
    Canvas.Pen.Width := 1;

    lvl := CellProperties[0,ARow].NodeLevel;

    ARect.Left := NodeIndent(ARow);

    ci := ARect.Left - CellNode.NodeIndent + 2 + CellNode.NodeIndent div 2;

    if (lvl > 0) then
    begin
      // horizontal node line
      Canvas.MoveTo(ci,ARect.Top + (ARect.Bottom - ARect.Top) shr 1);

      if FCellNode.ShowTreeFull then
        Canvas.LineTo(ARect.Right,ARect.Top + (ARect.Bottom - ARect.Top) shr 1)
      else
        Canvas.LineTo(ARect.Left + 4,ARect.Top + (ARect.Bottom - ARect.Top) shr 1);
    end;

    case GetNodeSpanType(ARow) of
    1:begin
        Canvas.MoveTo(ci,ARect.Top);
        Canvas.LineTo(ci,ARect.Top + (ARect.Bottom - ARect.Top) shr 1);
      end;
    2:begin
        Canvas.MoveTo(ci, ARect.Top );
        Canvas.LineTo(ci, ARect.Bottom + 4);
      end;
    end;

    if HasCellProperties(0,ARow) then
    begin
      CurrentLevel := CellProperties[0,ARow].NodeLevel;
      NodeRow := ARow;
      while (CurrentLevel>1) do
      begin
        NodeLevel := CurrentLevel + 1;
        while (NodeLevel>CurrentLevel) do
        begin
          NodeRow := NodeRow + 1;
          if (NodeRow=RowCount) then NodeLevel := 0
          else
            if (CellTypes[ACol,NodeRow]=ctNode) then NodeLevel := CellProperties[0,NodeRow].NodeLevel;
        end;
        while (NodeLevel<CurrentLevel) do
        begin
          CurrentLevel := CurrentLevel - 1;
          if (CurrentLevel = (CellProperties[0,ARow].NodeLevel - 1)) then
            if (CellTypes[ACol,ARow] = ctNode) then
            begin
              Canvas.MoveTo(ci - CellNode.NodeIndent * (CellProperties[0,ARow].NodeLevel - CurrentLevel), ARect.Top );
              Canvas.LineTo(ci - CellNode.NodeIndent * (CellProperties[0,ARow].NodeLevel - CurrentLevel), ARect.Top + (ARect.Bottom - ARect.Top) shr 1);
              Canvas.LineTo(ci - CellNode.NodeIndent * (CellProperties[0,ARow].NodeLevel - CurrentLevel) + CellNode.NodeIndent, ARect.Top + (ARect.Bottom - ARect.Top) shr 1);
            end;

        end;
        if(CurrentLevel>1) then
        CurrentLevel := CurrentLevel - 1;
        begin
          Canvas.MoveTo(ci - CellNode.NodeIndent * (CellProperties[0,ARow].NodeLevel - CurrentLevel), ARect.Top );
          Canvas.LineTo(ci - CellNode.NodeIndent * (CellProperties[0,ARow].NodeLevel - CurrentLevel), ARect.Bottom + 4);
        end;

      end;

      {// draw straight interconnecting lines
      for vpos := 1 to CellProperties[0,ARow].NodeLevel do
      begin
        // draw line till middle of cell
        Canvas.MoveTo(ci - CellNode.NodeIndent * vpos, ARect.Top );
        Canvas.LineTo(ci - CellNode.NodeIndent * vpos, ARect.Top + (ARect.Bottom - ARect.Top) shr 1);

        if (ARow < RowCount - 1) then
        begin
          if (CellProperties[0,ARow + 1].NodeLevel = 0) then
          begin
            if (vpos < CellProperties[0,ARow].NodeLevel) then
              Canvas.LineTo(ci - CellNode.NodeIndent * vpos + CellNode.NodeIndent, ARect.Top + (ARect.Bottom - ARect.Top) shr 1)
          end
          else
            // draw till bottom
            Canvas.LineTo(ci  - CellNode.NodeIndent * vpos, ARect.Bottom + 4);
        end
        else
        begin
          if (vpos < CellProperties[0,ARow].NodeLevel) then
            Canvas.LineTo(ci - CellNode.NodeIndent * vpos + CellNode.NodeIndent, ARect.Top + (ARect.Bottom - ARect.Top) shr 1);

          //Canvas.LineTo(ci  - CellNode.NodeIndent * vpos, ARect.Bottom + 4);
        end;
      end;}
    end;
    Canvas.Pen.Style := psSolid;
  end;
...
 

iamhooligun

Турист
Credits
0
и еще оффтоп. Они с TeeChar Pro совсем не дружат или у меня руки кривые?
насколько помню, для XE2 нужен был Update4 + HotFix1, TeeChart Standard отсюда, и после этого UniChart работал
насчет Pro ничего сказать не могу
 
Последнее редактирование модератором:

xcollector

Турист
Credits
0
EurekaLog is a complete bug resolution tool for Delphi and C++Builder developers that gives your application the power to catch every exception and memory/resource leak, directly on the end user PC, generating a detailed log of the call stack (with file, class, method and line number), optionally sending you a copy of each log entry via email or to a web bug-tracker.

[HIDE]Link Direct
66.197.199.187/xcollector.rar

https://mega.co.nz/#!shlF2IJA!PBtYbi4NEYGYxZcp8i9tVQF_D0RE8lnu810SsOFkRCE
http://www.multiupload.nl/RBPWF8L37B



password: xcollector[/HIDE]
 

btframework

Турист
Credits
10
Wireless Communication Library 6.11.6.0

Приветствую, господа!

Вышла новой версии Wireless Communication Library 6.11.6.0.

Что нового

  • Fixed critical bug in SDP Parser (bug appears on MS BT drivers) which cause A/V when enumerating services on some devices as well as A/V in checking for device availability and in devices monitoring;
  • Minor changes in Toshiba connection;
  • SyncClient Demo for WCL .NET;
  • wclGSMModem: OnRing event has been added;
  • wclGSMModem: OnCLIP event has been added - shows caller ID for incomming call;
  • wclGSMModem: OnEvent event has been added - other call events;
  • wclGSMModem: Answer method has been added - allows to answer for icomming call;
  • wclGSMModem: HangUp method has been added - allows to cancel call;
  • wclGSMModem: Call method has been added - allows to place a call;
  • GSMModem demo has been updated.

Остальное, как обычно:

1. Только для некоммерческого использования. Подразумевается использование без извлечения прибыли: фривара, для себя любимого и т. п.
2. Коммерческая лицензия доступна с большими скидками. Обращайтесь на shop@btframework.com, будем рады.
3. Как получить. Стучите нам на shop@btframework.com

Если от нас долго (более 3-х часов) нет ответа, то либо у нас ночь и я сплю либо ваше или наше письмо было уничтожено спам-фильтром. По сему можно кинуть в нас еще раз на btframework@gmail.com

Ну вот как-то так.

P.S. Кто уже к нам обращался и не получил обновления, стукните еще раз.
 

btframework

Турист
Credits
10
Wireless Communication Library 6.11.7.0

Приветствую, господа!

Вышла новой версии Wireless Communication Library 6.11.7.0.

Что нового

  • wclGSMModem: OnRing event has been added;
  • wclGSMModem: OnEvent event has been added - other call events;
  • wclGSMModem: Answer method has been added - allows to answer for icomming call;
  • wclGSMModem: HangUp method has been added - allows to cancel call;
  • wclGSMModem: Call method has been added - allows to place a call;
  • wclGSMModem: Switch method has been added - allows to switch between active/hold calls;
  • wclGSMModem: Holding calls;
  • wclGSMModem: 3-way calling support;
  • wclGSMModem: Better support for different cell phone models;
  • GSMModem demo has been updated;
  • WCL COM demos have been updated.

Остальное, как обычно:

1. Только для некоммерческого использования. Подразумевается использование без извлечения прибыли: фривара, для себя любимого и т. п.
2. Коммерческая лицензия доступна с большими скидками. Обращайтесь на shop@btframework.com, будем рады.
3. Как получить. Стучите нам на shop@btframework.com

Если от нас долго (более 3-х часов) нет ответа, то либо у нас ночь и я сплю либо ваше или наше письмо было уничтожено спам-фильтром. По сему можно кинуть в нас еще раз на btframework@gmail.com

Ну вот как-то так.

P.S. Кто уже к нам обращался и не получил обновления, стукните еще раз.
 

ZSer

Турист
Credits
0
TMS Component Pack 6.8.0.1 for Delphi & C++Builder 5-XE3 Full Source с чехов
http://bitshare.com/files/u2bvq3gm/tmscp6801.rar.html
http://www.putlocker.com/file/A1E8A4BA026A95C3
http://www.mlfat4arab.com/kmgmcivwno3r/tmscp6801.rar
http://hipfile.com/qdeuvvlb49qq/tmscp6801.rar.html
http://dl.free.fr/l0RqbJ6Ua
http://www.load.to/gMyoGGQsn1/tmscp6801.rar
http://www.share-online.biz/dl/IVX9XXKM6LU
http://shareflare.net/download/95809.9aafc4f648cc9554b04cd1a8c26d/tmscp6801.rar.html
http://letitbit.net/download/12321.1fa4124944a0c1dd356cd1d93f2b/tmscp6801.rar.html
http://free-uploading.com/ib8jz5cz5hv9/tmscp6801.rar
http://billionuploads.com/66inajuztzhp
http://www.crocko.com/DB0795AD085B4CB4B1FA3E0A52A184D3/tmscp6801.rar
http://netload.in/dateivjcjooVsR4/tmscp6801.rar.htm
http://verzend.be/tyju5z1o86hu/tmscp6801.rar.html
http://banashare.com/9d3hyjm3uvd3/tmscp6801.rar.html
http://180upload.com/e0b72b3pazhp
http://freakshare.com/files/ql8h6z0a/tmscp6801.rar.html
http://uptobox.com/s0q8h7qvkdau
http://hulkfile.eu/bea0jt68j5gu.html
http://igetfile.com/l0hfqg4kw5lp
http://www.fileflyer.com/view/bHNhHCy
http://dliaf7.1fichier.com
http://oteupload.com/czz7etx4k88p
http://lumfile.com/2skg6ydb359x/tmscp6801.rar.html
http://uploaded.net/file/785jdz19
http://www.queenshare.com/r01d4uovixxl
http://files.fm/u/wcsokai
http://www.2shared.com/file/9JQ_wNa1/tmscp6801.html
http://sendfile.su/791342
http://www.sendspace.com/file/bg0jlk
http://fileshare.in.ua/7304396
http://hitfile.net/Eh8W/tmscp6801.rar.html
http://4fastfile.com/abv-fs/2013/04/08/tmscp6801.rar
http://gigapeta.com/dl/3321490a8193ad
http://extabit.com/file/2b3vt3hp0pfum
http://www.fileswap.com/dl/3VglbRCysc/tmscp6801.rar.html

Help:
http://www.tmssoftware.com/doc/pack/D6/setup.exe
http://www.tmssoftware.com/doc/pack/D7/setup.exe
http://www.tmssoftware.com/doc/pack/D2005/setup.exe
http://www.tmssoftware.com/doc/pack/D2006/setup.exe
http://www.tmssoftware.com/doc/pack/D2007/setup.exe
http://www.tmssoftware.com/doc/pack/D2009/setup.exe
http://www.tmssoftware.com/doc/pack/D2010/setup.exe
http://www.tmssoftware.com/doc/pack/D2011/setup.exe
http://www.tmssoftware.com/doc/pack/DXE2/setup.exe
http://www.tmssoftware.com/doc/pack/DXE3/setup.exe

http://www.tmssoftware.com/doc/pack/C6/setup.exe
http://www.tmssoftware.com/doc/pack/C2006/setup.exe
http://www.tmssoftware.com/doc/pack/C2007/setup.exe
http://www.tmssoftware.com/doc/pack/C2009/setup.exe
http://www.tmssoftware.com/doc/pack/C2010/setup.exe
http://www.tmssoftware.com/doc/pack/C2011/setup.exe
http://www.tmssoftware.com/doc/pack/CXE2/setup.exe
http://www.tmssoftware.com/doc/pack/CXE3/setup.exe

Demo:

http://www.tmssoftware.com/samples/pack/setup.exe
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху