นวัตกรรม สิ่งประดิษฐ์ และเทคโนโลยี

กรุณา เข้าสู่ระบบ หรือ สมัครสมาชิก.

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
การค้นหาขั้นสูง  
หน้า: [1] 2 3 ... 10
 1 
 เมื่อ: กุมภาพันธ์ 21, 2019, 12:42:42 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM

 2 
 เมื่อ: กุมภาพันธ์ 21, 2019, 12:38:12 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM

 3 
 เมื่อ: กุมภาพันธ์ 21, 2019, 11:12:58 AM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
จาก https://www.sakolrat.com/product/%E0%B8%95%E0%B8%B2%E0%B8%A3%E0%B8%B2%E0%B8%87%E0%B9%80%E0%B8%9B%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%9A%E0%B9%80%E0%B8%97%E0%B8%B5%E0%B8%A2%E0%B8%9A%E0%B8%82%E0%B8%99%E0%B8%B2%E0%B8%94%E0%B8%A5%E0%B8%B9/



 4 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:49:39 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
ในกรณีต้องการแสดงข้อความ มาจากบรรทัดที่กำหนดของ RichEdit

การอ้างอิง ปกติจะอ้างที่ RichEdit1->Lines[0.....]
โดยที่

0 คือบรรทัดแรกของ RichEdit1

แต่จะมีปัญหาเรื่อง TString กับ AnsiString
สามารถแก้ไขโดยใช้ฟังชั่น Strings มาช่วย

C++ Builder

โค๊ด
Edit1->Text=RichEdit1->Lines->Strings[0];

 5 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:49:05 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
   
c++ Builder

โค๊ด
Memo1->SelText= "ข้อความที่ต้องการแทรก";


กรณีต้องการแทรกจากกล่องข้อความ (Edit : E_temp)

c++ builder

โค๊ด
Memo1->SelText= E_temp->Text;

 6 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:47:47 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM


Delphi

โค๊ด
// yOffset values
type
  TCharacterFormat = (CFM_Superscript, CFM_Subscript, CFM_Normal);

procedure RE_SetCharFormat(RichEdit: TRichEdit; CharacterFormat: TCharacterFormat);
var
  // The CHARFORMAT structure contains information about
  // character formatting in a rich edit control.
  Format: TCharFormat;
begin
  FillChar(Format, SizeOf(Format), 0);
  with Format do
  begin
    cbSize := SizeOf(Format);
    dwMask := CFM_OFFSET;
    // Character offset, in twips, from the baseline.
    // If the value of this member is positive,
    // the character is a superscript;
    // if it is negative, the character is a subscript.
    case CharacterFormat of
      CFM_Superscript: yOffset := 60;
      CFM_Subscript: yOffset := -60;
      CFM_Normal: yOffset := 0;
    end;
  end;
  // The EM_SETCHARFORMAT message sets character formatting in a rich edit control.
  // SCF_SELECTION: Applies the formatting to the current selection
  Richedit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
end;

// Examples:
// Beispiele:

// Apply Superscript to the current selection
// Markierte Zeichen hoch stellen
procedure TForm1.Button1Click(Sender: TObject);
begin
  RE_SetCharFormat(RichEdit1, CFM_Superscript);
end;

// Apply Subscript to the current selection
// Markierte Zeichen tief stellen
procedure TForm1.Button2Click(Sender: TObject);
begin
  RE_SetCharFormat(RichEdit1, CFM_Subscript);
end;



จาก http://www.swissdelphicenter.ch/torry/showcode.php?id=1331

 7 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:46:04 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
จาก http://thaidev.com/nboard/index.php?PHPSESSID=70e32d067ff2a74f46e1d01ce16a6434&topic=3900.0

S,a,b,c: String;

เช่น S := 0000030|Test Testtttttt|aaaa bbbb

อยากจะแบ่งข้อมูล แล้วเก็บไว้ที่ตัวแประประมาณนี้ครับ

a = 0000030
b = Test Testtttttt
c = aaaa bbbb

Delphi

โค๊ด
var
  slist: TStringList;
  a, b, c: string;
begin
  slist := TStringList.Create;
  try
    slist.StrictDelimiter := True;
    slist.Delimiter := '|';
    slist.DelimitedText := '0000030|Test Testtttttt|aaaa bbbb';
    a := slist[0];
    b := slist[1];
    c := slist[2];
  finally
    slist.Free;
  end;
end;

 8 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:45:16 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
Delphi

โค๊ด
procedure TForm1.btnFindClick(Sender: TObject);
begin
 FindDialog1.Execute;
end;
...
procedure TForm1.btnReplaceClick(Sender: TObject);
begin
 ReplaceDialog1.Execute;
end;


โค๊ด
procedure TForm1.ReplaceDialog1Replace
   (Sender: TObject);
var
 SelPos, SPos, SLen, TextLength: Integer;
 SearchString  : string;
begin
 with TReplaceDialog(Sender) do begin
  TextLength:=Length(Memo1.Lines.Text);

  SPos:=Memo1.SelStart;
  SLen:=Memo1.SelLength;

  SearchString := Copy(Memo1.Lines.Text,
                       SPos + SLen + 1,
                       TextLength - SLen + 1);

  SelPos := Pos(FindText, SearchString);
  if SelPos > 0 then begin
    Memo1.SelStart := (SelPos - 1) + (SPos + SLen);
    Memo1.SelLength := Length(FindText);
 {remove this in the OnFind procedure:}
    Memo1.SelText := ReplaceText;
  end
  else MessageDlg('Could not find "' + FindText +
      '" in Memo1.', mtError, [mbOk], 0);
  end;
end;

จาก http://delphi.about.com/od/vclusing/l/aa100599.htm

 9 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:41:00 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
Delphi


{1.}
โค๊ด
function IsStrANumber(const S: string): Boolean;
var
  P: PChar;
begin
  P      := PChar(S);
  Result := False;
  while P^ <> #0 do
  begin
    if not (P^ in ['0'..'9']) then Exit;
    Inc(P);
  end;
  Result := True;
end;


{2.}

โค๊ด
function IsStrANumber(const S: string): Boolean;
begin
  Result := True;
  try
    StrToInt(S);
  except
    Result := False;
  end;
end;

// Example:

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsStrANumber(edit1.Text) = True then
    ShowMessage('String contains only numbers!');
end;


จาก http://www.swissdelphicenter.ch/en/showcode.php?id=58

 10 
 เมื่อ: กุมภาพันธ์ 14, 2019, 10:39:16 PM 
เริ่มโดย NAWATTAKAM - กระทู้ล่าสุด โดย NAWATTAKAM
Delphi

โค๊ด

function ReverseString1(const s: string): string;
var
  i, len: Integer;
begin
  len := Length(s);
  SetLength(Result, len);
  for i := len downto 1 do
  begin
    Result[len - i + 1] := s[i];
  end;
end;

function ReverseString2(const Str: string): string;
// by Ido Kanner
var
  ch: Char;
  i, Size: Integer;
begin
  Result := Str;
  Size   := Length(Result);
  if (Size >= 2) then
  // 2 or more chars
  begin
    // For 1 to middle of the string
    for i := 1 to (Size div 2) do
    begin
      // Lets get the charecter of the current place in the string
      ch := Result[i];
      // Place the Current pos of the char
      // with the char of it's mirror place...
      Result[i] := Result[Size - (i - 1)];
      // In the mirror place we will put char of the
      // Original place... And we switched places !!!
      Result[Size - (i - 1)] := ch;
    end
  end;
end;


function ReverseString3(S: string): string;
// by Rudy Velthuis
var
  P, Q: PChar;
  C: Char;
begin
  Result := S;
  if Length(Result) = 0 then Exit;
  P := PChar(Result);
  Q := P + Length(Result) - 1;
  while P < Q do
  begin
    C := P^;
    P^ := Q^;
    Q^ := C;
    Inc(P);
    Dec(Q);
  end;
end;

procedure ReverseString4(var S: string);
// by Rudy Velthuis
var
  P, Q: PChar;
  C: Char;
begin
  if Length(S) = 0 then Exit;
  P := PChar(S);
  Q := P + Length(S) - 1;
  while P < Q do
  begin
    C := P^;
    P^ := Q^;
    Q^ := C;
    Inc(P);
    Dec(Q);
  end;
end;


จาก http://www.swissdelphicenter.ch/en/showcode.php?id=53


หน้า: [1] 2 3 ... 10