PDA

View Full Version : تبدیل حروف کوچک انگلیسی به حروف بزرگ



Mask
شنبه 17 بهمن 1388, 20:19 عصر
با سلام
چطوری میشه مقدار استرینگ یک ادیت رو به حروف بزرگ تبدیل کرد.
در ضمن اگر بین حروف حروف بزرگ بود همانجور بمونه و بقیه حروف تبدیل بشوند.
با تشکر.

Felony
شنبه 17 بهمن 1388, 21:25 عصر
UpperCase('SaMpLe StRiNg');

Mask
شنبه 17 بهمن 1388, 22:04 عصر
UpperCase('SaMpLe StRiNg');
ممنون آقا مجتبی
همه زحمتامون سر شماست.
من متوجه نشدم این کد چیه و به چه کار میاد
نشستم یه 60 خطی نوشتم تا شد.
اما فکر نمی کنم اصولی باشه.
لطفا روش اصولیش رو بگشید.

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var tedad,i,j:integer;
begin
tedad:=Edit1.GetTextLen;
i:=0;
Edit2.Text:=Edit1.Text[i];
for j:=0 to tedad do begin
if (Edit1.Text[i]='a') or (Edit1.Text[i]='A') then begin
Edit2.Text:=Edit2.Text+'A';
end else begin
if (Edit1.Text[i]='b') or (Edit1.Text[i]='B') then begin
Edit2.Text:=Edit2.Text+'B';
end else begin
if (Edit1.Text[i]='c')or (Edit1.Text[i]='C') then begin
Edit2.Text:=Edit2.Text+'C';
end else begin
if (Edit1.Text[i]='d') or (Edit1.Text[i]='D') then begin
Edit2.Text:=Edit2.Text+'D';
end else begin
if (Edit1.Text[i]='e') or (Edit1.Text[i]='E')then begin
Edit2.Text:=Edit2.Text+'E';
end else begin
if (Edit1.Text[i]='f') or (Edit1.Text[i]='F') then begin
Edit2.Text:=Edit2.Text+'F';
end else begin
if (Edit1.Text[i]='g') or (Edit1.Text[i]='G') then begin
Edit2.Text:=Edit2.Text+'G';
end else begin
if (Edit1.Text[i]='h') or (Edit1.Text[i]='H')then begin
Edit2.Text:=Edit2.Text+'H';
end else begin
if (Edit1.Text[i]='i') or (Edit1.Text[i]='I')then begin
Edit2.Text:=Edit2.Text+'I';
end else begin
if (Edit1.Text[i]='j') or (Edit1.Text[i]='J') then begin
Edit2.Text:=Edit2.Text+'J';
end else begin
if (Edit1.Text[i]='k') or (Edit1.Text[i]='K') then begin
Edit2.Text:=Edit2.Text+'K';
end else begin
if (Edit1.Text[i]='l') or (Edit1.Text[i]='L') then begin
Edit2.Text:=Edit2.Text+'L';
end else begin
if (Edit1.Text[i]='m') or (Edit1.Text[i]='M') then begin
Edit2.Text:=Edit2.Text+'M';
end else begin
if (Edit1.Text[i]='n') or (Edit1.Text[i]='N') then begin
Edit2.Text:=Edit2.Text+'N';
end else begin
if (Edit1.Text[i]='o') or (Edit1.Text[i]='O') then begin
Edit2.Text:=Edit2.Text+'O';
end else begin
if (Edit1.Text[i]='p') or (Edit1.Text[i]='P') then begin
Edit2.Text:=Edit2.Text+'P';
end else begin
if (Edit1.Text[i]='q') or (Edit1.Text[i]='Q') then begin
Edit2.Text:=Edit2.Text+'Q';
end else begin
if (Edit1.Text[i]='r') or (Edit1.Text[i]='R') then begin
Edit2.Text:=Edit2.Text+'R';
end else begin
if (Edit1.Text[i]='s') or (Edit1.Text[i]='S') then begin
Edit2.Text:=Edit2.Text+'S';
end else begin
if (Edit1.Text[i]='t') or (Edit1.Text[i]='T')then begin
Edit2.Text:=Edit2.Text+'T';
end else begin
if (Edit1.Text[i]='u')or (Edit1.Text[i]='U') then begin
Edit2.Text:=Edit2.Text+'U';
end else begin
if (Edit1.Text[i]='v')or (Edit1.Text[i]='V') then begin
Edit2.Text:=Edit2.Text+'V';
end else begin
if (Edit1.Text[i]='w')or (Edit1.Text[i]='W') then begin
Edit2.Text:=Edit2.Text+'W';
end else begin
if (Edit1.Text[i]='x')or (Edit1.Text[i]='X') then begin
Edit2.Text:=Edit2.Text+'X';
end else begin
if (Edit1.Text[i]='y') or (Edit1.Text[i]='Y')then begin
Edit2.Text:=Edit2.Text+'Y';
end else begin
if (Edit1.Text[i]='z')or (Edit1.Text[i]='Z') then begin
Edit2.Text:=Edit2.Text+'Z';
end;end;end;end;end;end;end;end;end;end;end;end;en d;end;
end;end;end;end;end;end;end;end;end;end;end;end;
i:=i+1;
end;
end;
end.

master13111
شنبه 17 بهمن 1388, 22:18 عصر
همون طور كه دوستمون اشاره كردن كل كد همون بود
edit1.text:=uppercase(edit1.text)1

AliReza Vafakhah
شنبه 17 بهمن 1388, 22:29 عصر
اگه خودتون خواستید بنویسد (البته تابع خود دلفی خیلی بهتره)


procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
Character:Char;
begin
Edit2.Text:='';
for i := 1 to Length(Edit1.Text) do
begin
Character:=Edit1.Text[i];
if (Character in ['a'..'z']) then
Dec(Character,32);
Edit2.Text:=Edit2.Text+Character;
end;
end;

hadiaj168
شنبه 17 بهمن 1388, 22:55 عصر
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.text:=uppercase(Edit1.text);
keybd_event(35,0,0,0);
keybd_event(35,0,2,0);
end;