Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Stringgrid получить значение ячейки / 17 сообщений из 17, страница 1 из 1
09.01.2022, 23:50
    #40125398
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
Добрых суток,

Пытаюсь получить значение ячейки, но не могу,
Код: pascal
1.
 ShowMessage(StringGrid1.Cells[ACol,ARow]);



И подозрение у меня что потому что я перерисовываю stringgrid

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='т/м';
      end  ;
end;
  ///////////////////////////////////////////////////////////////////////




  StringGrid1.Canvas.FrameRect(System.Classes.Rect(Rect.Left-6,Rect.Top-2,Rect.Right,Rect.Bottom));

  if xFilled then begin
    StringGrid1.Canvas.Brush.Color:=clYellow;
    StringGrid1.Canvas.FillRect(Rect);
  end
  else StringGrid1.Canvas.Brush.Color:=clWhite;

  DrawText(StringGrid1.Canvas.Handle,PChar(s),Length(s),Rect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);




как победить?
...
Рейтинг: 0 / 0
09.01.2022, 23:56
    #40125399
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
Что значит "не могу"?
...
Рейтинг: 0 / 0
10.01.2022, 00:00
    #40125400
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
получаю пустую строку.
...
Рейтинг: 0 / 0
10.01.2022, 01:03
    #40125408
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
FIL23,

Значит ты туда ничего не писал.
Или менял размер грида.
...
Рейтинг: 0 / 0
10.01.2022, 02:10
    #40125416
northener
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
FIL23
Добрых суток,

И подозрение у меня что потому что я перерисовываю stringgrid

как победить?

А всю процедуру перерисовки привести было в лень?
...
Рейтинг: 0 / 0
10.01.2022, 15:37
    #40125527
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
northener
FIL23
Добрых суток,

И подозрение у меня что потому что я перерисовываю stringgrid

как победить?

А всю процедуру перерисовки привести было в лень?


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
procedure TfmGeneral.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var s: String;
    Rect1,Rect2: TRect;
    xFilled: Boolean;


    i,perX1,perY1,perX2,perY2:integer;

begin
StringGrid1.Canvas.Brush.Color:=clBlack;

if ARow=0 then
 begin
  perX1:=0;
  perX2:=0;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Длина пролета';
  end  ;


  perX1:=perX1+1;
  perX2:=perX1;
  if ACol in [perX1..perX2]  then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Распределенная нагрузка';
  end  ;


  perX1:=perX1+1;
  perX2:=perX1+gperStringGridCountAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Нагрузка на ось, т';
  end  ;


  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Расстояния между осями машин считая от середины пролета, м';
  end  ;


  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Ординаты от оси';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Момент в середине от установленных нагрузок, тм';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Суммарный изгибающий момент';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Эквивалентная нагрузка';
  end  ;
 end;

  ////////////////ВТОРАЯ СТРОКА/////////////////////////////////////////////////
if ARow=1 then
 begin
  perX1:=0;
  perX2:=0;
  if (ARow=1) and (ACol in [perX1..perX2]) then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Длина пролета';
  end  ;

  perX1:=perX1+1;
  perX2:=perX1;
  if ACol in [perX1..perX2]  then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Распределенная нагрузка';
  end  ;

  perX1:=2;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //нагрузка на ось
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='В середине пролета';   //нагрузка на ось
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //нагрузка на ось
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //Расстояния между осями машин считая от середины пролета
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //Расстояния между осями машин считая от середины пролета
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //Ординаты от оси
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='В середине пролета';   //Ординаты от оси
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //Ординаты от оси
  end  ;


  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //Момент в середине от установленных нагрузок, тм
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='В середине пролета';   //Момент в середине от установленных нагрузок, тм
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //Момент в середине от установленных нагрузок, тм
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Суммарный изгибающий момент';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Эквивалентная нагрузка';
  end  ;
 end;
  ///////////////////////////////////////////////////////////////////////


 ////////////////////////ТРЕТЬЯ СТРОКА//////////////////////////////////////////
if ARow=2 then
 begin
  perX1:=0;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,2);
    Rect2:=StringGrid1.CellRect(perX2,2);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='м';
  end  ;

  perX1:=perX1+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,2);
    Rect2:=StringGrid1.CellRect(perX2,2);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='т';
  end  ;


  for i:=gperStringGridCentralAxle-1 downto 1 do      //нагрузка на ось, т
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-Р'+inttostr(i);
      end  ;
    end;

    perX1:=perX1+1;                             //нагрузка на ось, т
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-Р0';
      end  ;

  for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //нагрузка на ось, т
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='Р'+inttostr(i);
      end  ;
    end;



  for i:=gperStringGridCentralAxle-1 downto 1 do      //Расстояния между осями машин считая от середины пролета, м
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-a'+inttostr(i);
      end  ;
    end;

   for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //Расстояния между осями машин считая от середины пролета, м
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='a'+inttostr(i);
      end  ;
    end;



   for i:=gperStringGridCentralAxle-1 downto 1 do      //Ординаты от оси
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-Y'+inttostr(i);
      end  ;
    end;

    perX1:=perX1+1;                             //Ординаты от оси
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='Y0';
      end  ;

  for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //Ординаты от оси
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='Y'+inttostr(i);
      end  ;
    end;



   for i:=gperStringGridCentralAxle-1 downto 1 do      //Момент в середине от установленных нагрузок, тм
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-P'+inttostr(i);
      end  ;
    end;

    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='P0';
      end  ;

  for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //Момент в середине от установленных нагрузок, тм
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='P'+inttostr(i);
      end  ;
    end;



    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='тм';
      end  ;

    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='т/м';
      end  ;
 end;
  ///////////////////////////////////////////////////////////////////////
  ///
  StringGrid1.Canvas.FrameRect(System.Classes.Rect(Rect.Left-6,Rect.Top-2,Rect.Right,Rect.Bottom));

  StringGrid1.Canvas.Brush.Color:=clWhite;

  DrawText(StringGrid1.Canvas.Handle,PChar(s),Length(s),Rect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);
end;
...
Рейтинг: 0 / 0
10.01.2022, 15:48
    #40125530
Fr0sT-Brutal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
FIL23
...

Я атеист, но тут так и хочется воззвать к высшим силам...
...
Рейтинг: 0 / 0
10.01.2022, 15:50
    #40125531
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
FIL23,

Так а где вы таки присваиваете значение?
...
Рейтинг: 0 / 0
10.01.2022, 16:07
    #40125541
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
Fr0sT-Brutal
Я атеист, но тут так и хочется воззвать к высшим силам...

...
Рейтинг: 0 / 0
10.01.2022, 16:13
    #40125542
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
Gerasimenko
Так а где вы таки присваиваете значение?

Видимо нигде.

".Cells[" в приведенном коде отсутствует.

Значения на экран выводятся исключительно с помощью неких магических манипуляций, никак не учитывающих содержимого ячеек грида.
...
Рейтинг: 0 / 0
10.01.2022, 17:00
    #40125546
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
Нейросеть код делала. Сперва спросила: "как показать то, чего нет?" - и ей дали код кастомной отрисовки. Теперь спрашивает: "как узнать значение того, чего нет?".
...
Рейтинг: 0 / 0
10.01.2022, 20:02
    #40125571
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
FIL23, ну раз ты и так знаешь, что нарисовать в каждой ячейке - значит и читать ничего не надо))
А вообще чушь голимая...
...
Рейтинг: 0 / 0
10.01.2022, 20:49
    #40125588
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
ну так подскажите как правильно.
...
Рейтинг: 0 / 0
10.01.2022, 21:11
    #40125594
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
вообще этот код позволяет мне сделать шапку
...
Рейтинг: 0 / 0
10.01.2022, 21:28
    #40125599
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
FIL23,

а остальное - оператор руками заполняет?
...
Рейтинг: 0 / 0
10.01.2022, 21:29
    #40125600
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
Выкинуть всё это убожество и сделать нормально.

Возьми TZColorStringGrid и настрой отображение без использования OnDrawCell.
...
Рейтинг: 0 / 0
10.01.2022, 22:24
    #40125618
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stringgrid получить значение ячейки
rgreat,

оказывается я уже где то его использовал (занимаю программированием в качестве хобби)

https://www.sql.ru/forum/1255961/ustanovka-zcolorstringgrid-v-xe-10

Ок, спасибо. буду вспоминать.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Stringgrid получить значение ячейки / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]