c++builderCH16-文档资料_第1页
c++builderCH16-文档资料_第2页
c++builderCH16-文档资料_第3页
c++builderCH16-文档资料_第4页
c++builderCH16-文档资料_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第三章從C/C+到C+ Builder為了強化C+ Builder的功能,C+ Builder透過類別的形式提供了大量的VCL元件,不但加速了程式的開發,也方便了程式的維護,但相對的也衍伸出許多C/C+中所沒有的資料型態和處理機制。本章將針對常用的型態與機制進行介紹,讓讀者熟悉C+ Builder的特有語法,也充分利用C+ Builder的強大功能。2大綱 3-1.基本資料型態 3-2.AnsiString型態 3-3.常用類別型態 3-4.例外處理機制 3-5.類別轉換機制33-1.基本資料型態C/C+中紀錄基本資料型態所使用的記憶體大小會隨著編譯器的不同而有所不同,進而影響資料型態所能儲

2、存的資料,底下為C+ Builder中對整數和浮點數基本型態的定義,包括使用的位元空間和所能表示的數值。型別位元大小(Bits)char8unsigned char8short int16unsigned short16int32long32enum32unsigned int3243-1.基本資料型態 浮點數:此外,C+ Builder和C/C+最大的差別在於它提供了對字串的支援,而非C/C+中使用的字元陣列或是字串指標,且在C+ Builder視窗環境中,使用字串的機會遠比字元陣列或是指標大的多,在3-2節中我們將有對字串的完整介紹。型別位元大小(Bits)數值區間float321.18*

3、10-38|X|3.40*1038double642.23*10-308|X|1.79*10308long double803.37*10-4932|X|Text.Length() +1;strcpy(a, Edit1-Text.c_str();幣值StrToCurr()Currency a=StrToCuur(12.1);8型態AnsiString函式範例整數IntToStr()IntToStr(123);浮點數FloatToStr()、FloatToStrF()FloatToStr(10.123);FloatToStrF(10.123,ffFixed,7,3);日期DateToStr()D

4、ateToStr(Date();時間TimeToStr()DateToStr(Time();日期時間DateTimeToStr()DateToStr(Now();字串指標AnsiString()char *temp=Hello World!;AnsiString(temp);幣值CurrToStr()CurrToStr(10.11);說明:FloatToStr和FloatToStrF的差別在於FloatToStrF可依照指定格式進行轉換,格式為FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits),

5、其中Value為浮點數;Format設定轉換格式;Precision指定精確度;Digits設定顯示小數位數。93-2.AnsiString資料型態除了可以自由轉換成熟悉的基本型態外,AnsiString相較於字串指標最大的優點在於可以使用運算元直接進行運算,使用方式就如同一般的基本型態,而不像字串指標的所有運算都必須靠函式的呼叫來完成運算元功能範例+字串相加Hello+ World=指定運算temp=Hello+ World=相等條件與否if (temp=Hello World)!=不等條件判斷if (temp!=Hello World).小於判斷if (temp大於判斷if (temp9)

6、=小於等於判斷if (temp=大於等於判斷if (temp=0)字串陣列索引output=temp1;103-2.AnsiString資料型態 至此,可發現AnsiString不但可任意轉換型態,還能進行運算比較,比過去C/C+中使用的字串指標來的方便,但好戲還不止於此,C+ Builder對AnsiString型態提供了眾多的字串處理函式,讓基本的字串處理工作變的輕輕鬆鬆,這些函式將在下一小節說明。 3-2-2. AnsiString字串處理函式 AnsiString字串處理函式包羅萬象,下面僅就常用的函式進行說明和示範:AnsiCompare函數宣告:int AnsiCompare(co

7、nst AnsiString& rhs) const;說明:比較兩字串的內容:兩字串相同傳回0;小於傳回-1;大於傳回1範例:if(Edit1-Text.AnsiCompare(Hello) ShowMessage(字串相等);113-2.AnsiString資料型態AnsiPos函數宣告:int AnsiPos(const AnsiString& subStr) const;說明:回傳subStr在字串中的位置,回傳值為0表示subStr不存在於字串中。範例:Edit1-Text.AnsiPos(Hello);/回傳Hello在Edit1輸入框中的位置AnsiCompareIC函數宣告:in

8、t AnsiCompareIC(const AnsiString& rhs) const;說明:和AnsiCompare()功能相同,但不考慮字串的大小寫。範例:if(Edit1-Text.AnsiCompareIC(Hello) ShowMessage(字串相等);123-2.AnsiString資料型態Delete函數宣告:AnsiString Delete(int index, int count)說明:從字串的第index個字元開始刪除count字元,字串的第一個字元index為1範例:AnsiString tem=Hello World;tem.Delete(1,6); /tem字串

9、刪除後為Worldcat_printf函數宣告:AnsiString cat_sprintf(const char* format, .);說明:依照格式將字串附加於原有字串之後範例:s.cat_sprintf(Dear %s,Edit1-Text);133-2.AnsiString資料型態FloatToStrF函數宣告:AnsiString FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits);說明:依照Format設定的輸出格式、Precision指定的精確度和Digits限制的小數點後位數對

10、Value浮點數進行字串轉換的動作。Format有ffGeneral(一般)、ffExponent(科學符號)、ffFixed(固定小數點位置)、ffNumber(千位分隔號)和ffCurrency(錢幣)五種格式。範例:float tem= 87654.325;AnsiString str=FloatToStrF(tem,ffNumber,7,2);/str=87,654.33,小數第三位四捨五入143-2.AnsiString資料型態FormatFloat函數宣告:AnsiString FormatFloat(const AnsiString Format, Extended Value)

11、;說明:依照Format格式轉換Value浮點數。範例:Format格式說明12345-123450.80整數四捨五入12345-1234510.00小數兩位12345.00-12345.000.80#.#有值才顯示12345-12345.8#,#0.00千位分隔號12,345.00-12,345.000.80#,#0.00;(#,#0.00)正負號格式不同12,345.00(-12,345.00)0.800.000E+00符合格式的科學符號1.235E+05-1.235E+058.000E-01153-2.AnsiString資料型態IntToHex函數宣告:AnsiString IntTo

12、Hex(int Value, int Digits);說明:把整數轉成16進位的AnsiString。範例:ShowMessage(IntToHex(168,2);/顯示的值為A8Insert函數宣告:AnsiString& Insert(const AnsiString& str, int index);說明:從字串的第index字元開始插入str字串,而原有index後的字串會往後挪移。範例:AnsiString temp=Hello;temp.Insert( World,6);/新增後的字元為Hello World163-2.AnsiString資料型態IsPathDelimiter函數

13、宣告:bool IsPathDelimiter(int index);說明:判斷Index字元是否為反斜線字元,如果是則回傳True。範例:if (dirStr.IsPathDelimiter(dirStr.Length() ShowMessage(Match!);IsDelimiter函數宣告:bool IsDelimiter(const AnsiString Delimiters, const AnsiString S, int Index);說明:判斷S字串中第Index字元是否存在於Delimiters字串中,若存在則傳回true。範例:if (IsDelimiter(, dirStr

14、, dirStr.Length() ShowMessage(Match!);173-2.AnsiString資料型態LastDelimiter函數宣告:int LastDelimiter(const AnsiString& delimiters);說明:傳回字串中最後一個delimiters字串的位置範例:int pos=dirStr.LastDelimiter();/傳回最後一個的位置IsEmpty函數宣告:bool IsEmpty();說明:判斷字串是否為空字串,是則回傳True。範例:if(str.IsEmpty() ShowMessage(String is empty);183-2.

15、AnsiString資料型態Length函數宣告:int Length();說明:傳回字串的長度範例:int len=Edit1-Text.Length(); /Edit1輸入框中輸入字串的長度LastDelimiter函數宣告:int LastDelimiter(const AnsiString& delimiters);說明:傳回字串中最後一個delimiters字串的位置範例:int pos=dirStr.LastDelimiter();/傳回最後一個的位置193-2.AnsiString資料型態Pos函數宣告:int Pos(const AnsiString& subStr);說明:傳

16、回subStr字串在此字串中的位置,若不存在則回傳值為0。範例:AnsiString temp=Hello World;ShowMessage(IntToStr(temp.Pos(World);LowerCase函數宣告:AnsiString LowerCase();說明:把字串內容全部變成小寫。範例:dirStr.LowerCase(); /把dirStr字串內容轉為小寫203-2.AnsiString資料型態SubString函數宣告:AnsiString SubString(int index, int count);說明:回傳從字串第index個字元開始的count個字元所形成的子字串

17、。範例:AnsiString temp=dirStr.SubString(2,2);sprintf函數宣告:AnsiString& sprintf(const char* format, .);說明:依照指定格式設定字串內容。格式的設定和C中的printf相同。範例:AnsiString temp;temp.sprintf(Hello %s :,Edit1-Text);213-2.AnsiString資料型態TrimLeft函數宣告:AnsiString TrimLeft();說明:去除字串中字頭所含的空白。範例:Edit1-Text.TrimLeft();Trim函數宣告:AnsiStrin

18、g Trim();說明:去除字串的前後空白。範例:Trim(Edit1-Text); 或Edit1-Text.Trim();TrimRight函數宣告:AnsiString TrimLeft();說明:去除字串中字尾所含的空白。範例:Edit1-Text.TrimRight();223-2.AnsiString資料型態ToIntDef函數宣告:int ToIntDef(int defaultValue);說明:把字串轉成整數型態,轉換失敗則使用defaultValue作為輸出。範例:int temp=str.ToIntDef(123);ToInt函數宣告:int ToInt();說明:把字串轉

19、成整數,但字串內容不允許非數字字元的出現。範例:int temp=str.ToInt();233-2.AnsiString資料型態 習慣了AnsiString型態和其提供的方法後,會發覺AnsiString在很多情況下都比過去的字串指標來的方便,尤其是在VCL元件屬性或方法設定上,但缺點就是所寫的程式碼不能在其他編譯器下進行編譯。UpperCase函數宣告:AnsiString UpperCase();說明:把字串內的字元轉成大寫形式。範例:AnsiString temp=str.UpperCase();243-3.常用類別型態 除了AnsiString字串型態外,C+ Builder為了元件

20、的設定方便還提供了許多的類別型態,這些型態最常出現在元件的屬性或是方法指定上,底下我們僅就常用的TStrings、參數和時間相關類別型態進行介紹。 3-3-1. TStrings型態 TStrings為一個以列表方式紀錄AnsiString型態資料的類別,也就是以陣列方式來儲存大量的AnsiString資料,所以舉凡能以條列方式顯示文字資料的VCL元件幾乎都透過TStrings型態來紀錄所要顯示的內容,包括:TListBox、TComboBox、TMemo和TStringGrid元件,像TListBox和TComboBox使用TStrings類別的Items屬性完成顯示內容的設定;TMemo使

21、用Lines屬性;TStringsGrid使用Rows屬性。此外,由於TStrings為一個類別而非基本型態,所以也提供了一些屬性和方法來增強TStrings類別的功能性,以方便程式設計員對它的使用,熟悉TStrings類別的屬性和方法將有助於後面元件的開發。253-3.常用類別型態 常用屬性:屬性說明Count顯示目前TStrings中紀錄的字串數目。CommaText以AnsiString型態顯示TStrings中的所有字串內容,字串間以逗點分隔。Text以AnsiString型態顯示TStrings中的所有字串內容,但以斷行符號分隔不同字串。Strings以陣列型態讀取TStrings內

22、容,如Strings0。Values當TStrings內容為Name=Value時,可以透過ValuesName的方式讀取對應的Value值。263-3.常用類別型態 常用方法:3-3-2. 參數類別 參數類別包含TParam和TParams兩種,其中TParam紀錄個別參數的內容,如Name=Value,而TParams則為TParam的集合,儲存了多個的參數內容。在C+ Builder中,很多資料庫元件都以TParams類別作為傳遞參數的依據,而TParams類別再透過其內的TParam傳遞每個參數和對應的值,如TQuery、TADOuery和TSQLQuery元件,底下為TParam和T

23、Params常用的屬性與方法:方法說明Add(const AnsiString S)新增字串S到TStrings中。Clear(Void)清掉TStrings中的所有字串內容。Delete(int Index)清掉第Index個字串內容。Equals(TString* Strings)判斷兩個TStrings是否相等。273-3.常用類別型態 TParam類別 常用屬性:屬性說明AsString當參數為字串類型時,透過AsString指定參數值。AsInteger當參數為整數類型時,透過AsInteger指定參數值。AsFloat當參數為浮點數類型時,透過AsFloat指定參數值。DataTy

24、pe設定TParam參數的類型,有ftString(字串)、ftInteger(整數)、ftDate(日期)、ftFloat(浮點數)、ftTime(時間)等。Name設定參數的名稱。Text把參數的值轉成字串形式呈現。Value存取參數的值。(建議使用AsString、AsInteger、AsFloat、AsTime等方式存取參數值能得到較好的效能)。283-3.常用類別型態 TParams類別 常用屬性: 常用方法:屬性說明Items透過Items屬性紀錄參數的值。Count回傳TParams中所紀錄的參數個數。ParamValues透過ParamValuesName方式傳回對應的參數值。

25、方法說明AddParam(TParam* Value)新增一個TParam參數到TParams中。AssignValues(TParams* Value)以Value這個TParams設定目前的參數值。IsEqual(TParams* Value)判斷兩個TParams是否相同。293-3.常用類別型態3-3-3. 時間類別 在開發程式的過程中,時間是一個很常使用到的變數,不論是算程式的執行時間或是作為計算效能的依據,除此,日期變數亦常作為計算使用,如每筆交易紀錄的時間、應用程式的有效日期等,所以在本小節中將就C+ Builder提供的時間類別進行介紹,雖然說C/C+也有所謂的時間型態,但C+

26、 Builder的時間類別能和Timer、DateTimePicker等C+ Builder內附元件配合使用,在使用上更為方便。 C+ Builder提供了三個主要的時間類別:TTime、TDate和TDateTime,分別用以表示時間、日期和時間日期,這些類別主要以浮點數的型態來紀錄日期時間的值,以1899年12月30日的上午12時為浮點數0所代表的意義,當然我們可以不需要管這些內部處理的細節,而只需透過包裝好的TTime、TDate和TDateTime類別來處理所有的時間計算。對於這些時間類別,C+ Builder提供了一些好用的方法或函式來方便你設定時間類別的值或是做些時間上的判斷,如下

27、所示:303-3.常用類別型態 取得日期部分函式說明Now()以TDateTime類別回傳今天的日期和時間。Date()以TDateTime類別回傳今天的日期。Time()以TDateTime類別回傳今天的時間。Today()以TDateTime類別回傳今天的日期。Tomorrow()以TDateTime類別回傳明天的日期。Yesterday()以TDateTime類別回傳昨天的日期。CurrentYear()以四位整數回傳目前的西元年份。313-3.常用類別型態 常用日期處理函式/方法函式/方法單元檔說明DateOf(TDateTime Value)DateUtils把TDateTime變數

28、的時間部分歸零。DayOf(TDateTime AValue)DateUtils回傳AValue所指定月份的天數。DayOfTheMonth(TDateTime AValue)DateUtils和DayOf相同。DayOfTheWeek(TDateTime AValue)DateUtils以數字形式回傳AValue日期為星期幾,1表示星期天,7表示星期六。323-3.常用類別型態函式/方法單元檔說明DayOfTheYear(TDateTime AValue)DateUtils以數字形式回傳AValue日期為該年的第幾天。DaysBetween(TDateTime ANow, TDateTime

29、 AThen)DateUtils回傳兩個日期間的天數。以整數型態回傳。DaysInAMonth(Word AYear, Word AMonth)DateUtils回傳指定年份(AYear)月份(AMonth)的天數。AYear的範圍為19999;AMonth的範圍為112。DaysInAYear(Word AYear)DateUtils以整數型態回傳指定年份(AYear)的天數。333-3.常用類別型態函式/方法單元檔說明DecodeDate(TDateTime DateTime, Word &Year, Word &Month, Word &Day);SysUtils透過指標方式,以Year

30、、Month、Day三個參數回傳指定日期的年、月、日。EncodeDate(Word Year, Word Month, Word Day)SysUtils輸入Year、Month、Day變數值,回傳代表輸入日期的TDateTime型別。EncodeDateDay(const Word AYear, const Word ADayOfYear)DateUtils輸入年份和該年的第幾天,回傳一個代表輸入日期的TDateTime型別。EncodeDateMonthWeek(Word AYear, Word AMonth, Word AWeekOfMonth, Word ADayOfWeek)Dat

31、eUtils輸入年份、月份、該月的第幾個禮拜和該禮拜的第幾天,回傳代表該日期的TDateTime型別。343-3.常用類別型態函式/方法單元檔說明EncodeDateWeek(Word AYear, Word AWeekOfYear, Word ADayOfWeek)DateUtils輸入年份、該年的第幾個禮拜和該禮拜的第幾天,回傳TDateTime型別表示該日期,其中,ADayOfWeek以星期一為1、星期二為2,依此類推。IncAMonth(Word &Year, Word &Month, Word &Day, int NumberOfMonths)SysUtils對指定日期加上指定的月份

32、,並透過傳址變數回傳新的日期。IncMonth(TDateTime Date, int NumberOfMonths = 1)SysUtils對指定日期加上指定的月份,預設值為加上1個月。IncDay(TDateTime AValue, int ANumberOfDays)DateUtils指定日期加上指定的天數,回傳值為TDateTime型態。353-3.常用類別型態函式/方法單元檔說明IsInLeapYear(TDateTime AValue)DateUtils判斷指定的日期是否為閏年,回傳值為True表示為閏年。IsToday(TDateTime AValue)SysUtils判斷指定日

33、期是否為目前日期,如果是則回傳True。MonthOf(TDateTime AValue)SysUtils回傳指定日期的月份,範圍值112。RecodeDate(TDateTime AValue, Word AYear, Word AMonth, Word ADay)DateUtils依照指定的年月日對原有的日期進行修改,回傳值為新的日期,型別為TDateTime。363-3.常用類別型態函式/方法單元檔說明RecodeDay(TDateTime AValue, Word ADay)DateUtils依照ADay的輸入修改AValue的日期,回傳值為TDateTime型別的新日期。Recode

34、Month(TDateTime AValue, Word AMonth)SysUtils依照AMonth的輸入修改AValue的日期,回傳值為TDateTime型別的新日期。RecodeYear(TDateTime AValue, Word AYear)SysUtils依照AYear的輸入修改AValue的日期,回傳值為TDateTime型別的新日期。WeekOf(TDateTime AValue)DateUtils回傳指定日期在該年中的第幾個星期,為一整數型態的回傳值。373-3.常用類別型態函式/方法單元檔說明WeekOfTheMonth(TDateTime AValue)DateUtil

35、s回傳指定日期在該月的第幾個禮拜,為一整數型態的回傳值。WeekOfTheYear(TDateTime AValue)SysUtils回傳指定日期在該年的第幾個禮拜,為一整數型態的回傳值。WeeksBetween(TDateTime ANow, TDateTime AThen)SysUtils回傳ANow和AThen兩日期的星期間格,為一整數的回傳值。YearOf(TDateTime AValue)DateUtils回傳指定日期的年份,回一整數的回傳值。383-3.常用類別型態 常用時間處理函式/方法函式/方法單元檔說明HoursBetween(TDateTime ANow, AThen)Da

36、teUtils回傳兩個指定時間的時差,不包含小數部分。HourSpan(TDateTime ANow, TDateTime AThen)DateUtils回傳兩指定時間間的時差,包含小數部分。HourOf(TDateTime AValue)DateUtils回傳時間的小時部分,範圍值為023。HourOfTheWeek(TDateTime AValue);DateUtils回傳指定日期為該週的第幾個小時,計算基準為星期一的AM12:00。393-3.常用類別型態函式/方法單元檔說明IncHour(TDateTime AValue, _int64 ANumberOfHours)DateUtils

37、從AValue日期加上指定的小時數,_int64為64bits的長整數。IncMinute(TDateTime AValue, _int64 ANumberOfMinutes)SysUtils從AValue日期加上指定的分鐘數,_int64為64bits的長整數。IncSecond(TDateTime AValue, _int64 ANumberOfSeconds)SysUtils從AValue日期加上指定的秒數,_int64為64bits的長整數。MinutesBetween(TDateTime ANow, TDateTime AThen)DateUtils回傳兩TDateTime變數間的分

38、鐘數差,回傳值為_int64型態的長整數。403-3.常用類別型態函式/方法單元檔說明MinutesSpan(TDateTime ANow, TDateTime AThen)DateUtils回傳兩TDateTime變數間的分鐘數差,包含小數部分,以浮點數回傳。MinuteOf(TDateTime AValue)DateUtils以整數型態回傳TDateTime變數的分鐘數,該值介於059。MinuteOfTheDay(TDateTime AValue)DateUtils回傳從同一天AM12:00算起到TDateTime變數的分鐘數。MilliSecondsBetween(TDateTime

39、ANow, TDateTime AThen)DateUtils回傳兩TDateTime變數間的毫秒數差,以_int64長整數回傳。413-3.常用類別型態函式/方法單元檔說明SecondsBetween(TDateTime ANow, TDateTime AThen)DateUtils回傳兩TDateTime變數間的秒數差,以_int64長整數回傳。SecondSpan(TDateTime ANow, TDateTime AThen)SysUtils回傳兩TDateTime變數間的秒數差,包含小數部分,以浮點數型態回傳。SecondOf(TDateTime AValue)SysUtils以整數

40、型態回傳TDateTime變數的秒數,該值介於059。423-4.例外處理機制 在寫程式時,難免因為考慮不周而產生一些特殊情形才會發生的錯誤,造成電腦的不穩定,為了避免這樣的情形發生,C+ Builder提供了例外處理機制來確保程式的穩定執行。所謂的例外處理機制在於程式執行時攔截所有可能發生的錯誤,並產生對應的例外錯誤事件,這事件中紀錄了錯誤的類型與說明,而由於錯誤已經被攔截,所以可以在不影響系統的穩定和資源下跳過錯誤指令繼續執行程式,至於攔截到的訊息則可以提供原設計師做為改正程式的參考,底下為基本的例外處理範例:433-4.例外處理機制void _fastcall TForm1:Button

41、1Click(TObject *Sender) try int i=Edit1-Text.ToInt(); ShowMessage(10/i); catch (EDivByZero &E) /例外處理 MessageDlg(E.Message, mtError,TMsgDlgButtons() mbYes Text為0時會發生除數為0的錯誤 而為了避免除數為0錯誤對程式執行可能造成的影響,我們使用catch來監督EDivByZero(除數為0)錯誤類別的發生,其中EDivByZero為專門監督除數為0錯誤的例外處理類別,當除數為0的錯誤發生後就會自動進入catch區塊中執行程式,並跳過try區

42、塊中程式執行錯誤後面的程式碼,下面為Exception錯誤發生的訊息方塊。453-4.例外處理機制 上面程式片段中使用了EDivByZero例外處理類別解決了除數為0的錯誤,而C+ Builder還提供了其他的例外處理類別來解決不同的例外事件,下面為常見的例外處理類別。例外處理類別例外說明EAccessViolation錯誤的記憶體存取。EComponentError 不正當的修改元件名稱。EConvertErrorString或object的轉換錯誤。EDatabaseError資料庫存取錯誤。EDBEditError資料庫資料編輯錯誤。EDivByZero除數為0的錯誤。EInOutErr

43、or檔案I/O錯誤。463-4.例外處理機制例外處理類別例外說明EIntOverflow整數Overflow的錯誤EInvalidCast不當的類別轉換錯誤。EInvalidGraphic使用未知圖檔類型的錯誤。EInvalidOperation在元件上不當的操作錯誤。EInvalidPointer指標操作不當所造成的錯誤。EPrinterError列印錯誤。EPropertyError設定錯誤的元件屬性值所產生的錯誤。473-4.例外處理機制 倘若一個程式區塊內可能發生兩種不同類型的錯誤,而對於這兩種錯誤希望能分別處理,則可以透過多次的catch使用來撰寫不同的處理內容void _fastcall TForm1:Button1Click(TObject *Sender) try int i=Edit1-Text.ToInt(); Edit1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论