private bool InternReadDashes(ref int rlngIdx, ref AcadLineType robjAcadLineType, ref string nrstrErrMsg) { nrstrErrMsg = null; AcadLineTypeDashes dobjAcadLineTypeDashes = robjAcadLineType.Dashes; bool dblnError = default(bool); bool dblnStop = default(bool); while (rlngIdx <= mlngTblEnd && !dblnError && !dblnStop) { int dlngCode = Conversions.ToInteger(mobjDictReadCodes[rlngIdx]); object dvarValue = RuntimeHelpers.GetObjectValue(mobjDictReadValues[rlngIdx]); if (dlngCode != 0 && dlngCode != 0 && dlngCode != 49) { nrstrErrMsg = "Ungültiger Gruppencode für Tabelleneintrag/ende oder Linientypelement in Zeile " + Conversions.ToString(checked (rlngIdx * 2 + 1)) + "."; dblnError = true; } else if (Conversions.ToBoolean(dvarValue is string && Conversions.ToBoolean(Operators.OrObject(Operators.CompareObjectEqual(dvarValue, "ENDTAB", TextCompare: false), Operators.CompareObjectEqual(dvarValue, "LTYPE", TextCompare: false))))) { dblnStop = true; } else if (!InternReadDash(ref rlngIdx, ref dobjAcadLineTypeDashes, ref nrstrErrMsg)) { dblnError = true; } } bool InternReadDashes = !dblnError; dobjAcadLineTypeDashes = null; return(InternReadDashes); }
private void InternListLinetypeDashes(ref int rlngIdx, AcadLineType vobjAcadLineType) { AcadLineTypeDashes dobjAcadLineTypeDashes2 = vobjAcadLineType.Dashes; IEnumerator enumerator = default(IEnumerator); AcadLineTypeDash dobjAcadLineTypeDash2; try { enumerator = dobjAcadLineTypeDashes2.GetValues().GetEnumerator(); while (enumerator.MoveNext()) { dobjAcadLineTypeDash2 = (AcadLineTypeDash)enumerator.Current; AcadLineTypeDash acadLineTypeDash = dobjAcadLineTypeDash2; InternAddToDictLine(ref rlngIdx, 49, RuntimeHelpers.GetObjectValue(acadLineTypeDash.Length)); int dlngCode74 = acadLineTypeDash.Flags74; InternAddToDictLine(ref rlngIdx, 74, dlngCode74); if (dlngCode74 > 0) { InternAddToDictLine(ref rlngIdx, 75, acadLineTypeDash.ShapeNumber); InternAddToDictLine(ref rlngIdx, 340, acadLineTypeDash.ShapeStyle); InternAddToDictLine(ref rlngIdx, 46, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeScale)); InternAddToDictLine(ref rlngIdx, 50, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeRotationDegree)); InternAddToDictLine(ref rlngIdx, 44, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeOffsetX)); InternAddToDictLine(ref rlngIdx, 45, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeOffsetY)); } if ((2 & dlngCode74) == 2) { InternAddToDictLine(ref rlngIdx, 9, acadLineTypeDash.Text); } acadLineTypeDash = null; } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } dobjAcadLineTypeDash2 = null; dobjAcadLineTypeDashes2 = null; }
private bool InternReadDash(ref int rlngIdx, ref AcadLineTypeDashes robjAcadLineTypeDashes, ref string nrstrErrMsg) { nrstrErrMsg = null; int dlngIdx = rlngIdx; checked { bool dblnError = default(bool); AcadLineTypeDash dobjAcadLineTypeDash2; if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 49, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Bereichslänge in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + "."; dblnError = true; } else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 1], 74, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Elementtyp in Zeile " + Conversions.ToString(rlngIdx * 2 + 3) + "."; dblnError = true; } else { bool flag = false; double ddblLength = Conversions.ToDouble(mobjDictReadValues[rlngIdx]); int dlngCode74 = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 1]); rlngIdx += 2; int dlngShapeNumber = default(int); int dlngShapeStyle = default(int); double ddblShapeScale = default(double); double ddblShapeRotationDegree = default(double); double ddblShapeOffsetX = default(double); double ddblShapeOffsetY = default(double); string dstrText = default(string); if (dlngCode74 > 0) { if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 75, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Symbolnummer in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + "."; dblnError = true; } else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 1], 340, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Zeiger auf STYLE-Objekt in Zeile " + Conversions.ToString(rlngIdx * 2 + 3) + "."; dblnError = true; } else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 2], 46, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Skalierfaktor in Zeile " + Conversions.ToString(rlngIdx * 2 + 5) + "."; dblnError = true; } else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 3], 50, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Drehung in Zeile " + Conversions.ToString(rlngIdx * 2 + 7) + "."; dblnError = true; } else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 4], 44, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für X-Versatz in Zeile " + Conversions.ToString(rlngIdx * 2 + 9) + "."; dblnError = true; } else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 5], 45, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Y-Versatz in Zeile " + Conversions.ToString(rlngIdx * 2 + 11) + "."; dblnError = true; } else { dlngShapeNumber = Conversions.ToInteger(mobjDictReadValues[rlngIdx]); dlngShapeStyle = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 1]); bool flag2 = false; ddblShapeScale = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 2]); ddblShapeRotationDegree = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 3]); ddblShapeOffsetX = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 4]); ddblShapeOffsetY = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 5]); rlngIdx += 6; if ((2 & dlngCode74) == 2) { if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 9, TextCompare: false)) { nrstrErrMsg = "Ungültiger Gruppencode für Zeichenfolge in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + "."; dblnError = true; } else { dstrText = Conversions.ToString(mobjDictReadValues[rlngIdx]); rlngIdx++; } } } } if (!dblnError) { dobjAcadLineTypeDash2 = robjAcadLineTypeDashes.FriendAdd(ref nrstrErrMsg); if (dobjAcadLineTypeDash2 == null) { nrstrErrMsg = nrstrErrMsg + " Ab Zeile " + Conversions.ToString(dlngIdx * 2 + 1) + "."; dblnError = true; } else { AcadLineTypeDash acadLineTypeDash = dobjAcadLineTypeDash2; bool flag3 = false; acadLineTypeDash.FriendLetLength = ddblLength; if (dlngCode74 > 0) { acadLineTypeDash.FriendLetFlags74 = dlngCode74; acadLineTypeDash.FriendLetShapeNumber = dlngShapeNumber; acadLineTypeDash.FriendLetShapeStyle = dlngShapeStyle; bool flag4 = false; acadLineTypeDash.FriendLetShapeScale = ddblShapeScale; acadLineTypeDash.FriendLetShapeRotationDegree = ddblShapeRotationDegree; acadLineTypeDash.FriendLetShapeOffsetX = ddblShapeOffsetX; acadLineTypeDash.FriendLetShapeOffsetY = ddblShapeOffsetY; } if ((2 & dlngCode74) == 2) { acadLineTypeDash.FriendLetText = dstrText; } acadLineTypeDash = null; } } } bool InternReadDash = !dblnError; dobjAcadLineTypeDash2 = null; return(InternReadDash); } }